Intro: Interactive Spacelady Mural
Spacelady is an interactive, Arduino-controlled LED mural. Using a capacitive touch sensor, the Arduino triggers lights and sounds when copper tape pads are touched. To understand the functionality of this mural and to see it in action, watch the attached videos.
This interactive mural is very easy to build, requires just a few components, and is suitable for beginners.
- Arduino UNO + USB cord
- capacitive touch sensor
- Neopixels (I used 23, but the number is arbitrary; simply adjust the code to your needs)
- copper tape
- regular masking tape
- mini breadboard
- solder + soldering iron
NOTE: Regarding the Neopixels - read the Adafruit’s Neopixels uberguide. The guide recommends putting a 300-500Ω resistor between the Arduino and the data pin (purchase two resistors if you use more than one Neopixels strip; that's what I did). Depending upon the number of Neopixels you use for your project, you may also need an external power supply. Consult the uberguide.
Step 1: Assembling Your Astronaut
- I began by making a mural out of regular (black) masking tape (a projector comes in handy if you have access to one).
- I used two nails to hold my Arduino to the wall.
- I taped a mini breadboard (with the capacitive sensor) above the Arduino.
- I used jumper wires to connect the Arduino to the capacitive sensorfollowing this Adafruit tutorial.
- 5V -> Vin
- Gnd -> Gnd
- SCL -> A5 (on an UNO)
- SDA -> A4 (on an UNO)
- I soldered jumper wires onto the ends of the copper tape closest to the sensor in order to connect the tape to the breadboard.
- To make easily-pressed touch pads, I wrapped the copper tape around itself into a shape.
- Note: the number of LEDs is arbitrary, but if you use my code, make sure to adjust the numbers accordingly.
- I spaced out the Neopixels (they come connected side-by-side in a long strip) by cutting them apart and soldering wires between each pixel.
- I connected the Neopixels to the Arduino following this Adafruit tutorial.
Step 2: Code
Before uploading the code to the board, two libraries need to be installed in the libraries folder (follow the instructions in the links below):
Here's the Github repo for the code I wrote. I modified some of the functions from the Adafruit Neopixel strandtest example and created some of my own. I'll try to clean up the code and include notes to make it easy to follow. Upload Spacelady.ino to the Arduino.
USING SOUND BUTTONS
If you want Soundlady to have sound buttons, you have to make sure to install Processing. In the same Github repo with the Arduino code, there's a folder called SoundPlayer. Open SoundPlayer.pde with Processing and run the sketch after you've got the Arduino code working while the Arduino is plugged into your computer using the USB cord. In Soundplayer.pde, select the port the Arduino is running on (usually something like usbmodem1411 on a Mac). You should now hear sounds when you touch the "sound" buttons (check the Arduino code to find out which ones). The Arduino is sending serial data to Processing, which is triggering the note.
To change the sound files, simply replace the files in the SoundPlayer/audio folder with your own .wav files (named 0-11.wav).