Skip to content

ailrst/plantsounds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test setup using a capacitive touch sensor;

An arduino is used for sensing and controlling lights and connects to a "real computer" to play audio (since audio needs more processin gpower and we need to play multiple sounds simultaneously)

Libraries:

arduino-cli compile --fqbn arduino:avr:nano lights
Sketch uses 11666 bytes (37%) of program storage space. Maximum is 30720 bytes.
Global variables use 886 bytes (43%) of dynamic memory, leaving 1162 bytes for local variables. Maximum is 2048 bytes.

Used library             Version Path                                                                        
Wire                     1.0     .../.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/Wire
SPI                      1.0     .../.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/SPI 
Adafruit CAP1188 Library 1.1.0   .../Arduino/libraries/Adafruit_CAP1188_Library                   
Adafruit BusIO           1.14.4  .../Arduino/libraries/Adafruit_BusIO                             
MsgPacketizer            0.4.7   .../Arduino/libraries/MsgPacketizer                              
FastLED                  3.6.0   .../Arduino/libraries/FastLED                                    

Used platform Version Path                                                         
arduino:avr   1.8.6   .../.arduino15/packages/arduino/hardware/avr/1.8.6
  • The PC software is written using the openframeworks C++ library.
    • https://openframeworks.cc/
    • In theory it should compile on any platform supporting openframeworks.
    • The project needs to be imported after installing OFx (untested)
    • Uses the openframeworks MsgPacketizer library which is distributed as a zipfile in its git repo (under extra) which needs to be imported.

Other sensing methods

If integrated capacitive touch ICs don't work it may be possible to use other systems for sensing that allow more manual calibration

There are also methods which allow less binary input (ie. detecting different types/amounts of touch), such as swept-frequency capacitive sensing "Touche" - https://www.nime.org/proceedings/2014/nime2014_515.pdf - https://fablab.ruc.dk/sensing-touch-with-arduino/ - https://github.com/damellis/ESP/wiki/%5BExample%5D-Touch%C3%A9-swept-frequency-capacitive-sensing


Testing notes

  • PlantMusic code seems to produce completley random output
  • Adafruit CAP1888 did not work with a tree; did not activate
    • grounding is a possible problem, we attached the gnd pin directly to ground, tried with a batter and connected to laptop.
      • (if you hold laptop and touch near the sensor it works)
  • CapSense library did not have a clear pattern interacting with the tree and touch its non-obvious what threshold value to use; may be able to automatically derive
    • grounding is also a problem
    • very noisy output when actually connected to the tree
    • may be able to be improved

capsense-test-image

Going forward;

  • It may be a better idea to hide a copper antenna behind the LED strip and sense when human hand is near the antenna; this gives us much better repeatabiliy. This should be possible with just capsense library and a resistor.
  • Try more sensitive capacitive sensor systems; eg 555 sensor may be more reliable?
  • Try driven systems like Touche; but tree may already introduce too much background noise

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages