Introduction: Color Changing Mushroom Lights
Its now my second project and instead of woodwork, I decided to try doing something with electronics, thus the mushroom light was born. It has 6 different modes (including turning off): 1) Off | 2) Ocean colors | 3) Fire | 4) Green Grass | 5) Lightning | 6) Party mode.
The modes work in a cycle and as shown in the video, each touch activates a different mode.
All credit for the design goes to Toshio Fuji. The design files can be found here: http://www.thingiverse.com/thing:930147/#files
Code for this will be provided in the Arduino assembly step and credit goes to my professor for helping me code this.
I only used the base, body, and head files as I used Neopixles instead of LED's, I had to modify the base on SketchUp to make the holes bigger, so it all depends on what kind of light source you use, modify them to suit your needs.
Step 1: Materials
Arduino Uno (and its software https://www.arduino.cc/en/Main/Software)
x1 Resistor (1000 K ohms and 5 % tolerance)
A number of short wires (about 20 should be good)
Black spray paint
Low temperature glue gun
Foamcore (for the body)
3D printer (I used glow in the dark filament for the base and white for the body and head of the mushroom)
Step 2: Soldering
1) Solder all 5 neopixels to each other, keep in mind there is a direction to them (meaning 5v goes to 5v, ground to ground, and digital input to digital input).
2) Solder the resistor to a wire, this allows you to forgo the use of a breadboard.
Step 3: 3D Print, Arduino Assembly and Testing
Important !! - When wiring or making any changes to your neopixles on your Arduino, you should never have the Arduino plugged in at any point as this can damage the neopixles. Remember, never wire your neopixels while having the Arduino plugged in.
1) 3D print the files listed earlier
2) Use the glue gun and bind them together
3) Set up your Ardunino as shown in the pictures (Do not tape your pixels to the base yet, we will need to test if everything is working before doing that)
If its not clear, 5V on your neopixel goes to 5V on the Arduino, GRD to GRD, and Digital input on your neopixel to ~6 on the Arduino. The one leg of the resistor goes into 8 on the Arduino and wire that is soldered onto the resistor goes into 13 on the Arduino.
4) When this step is complete, plug in the Arduino into your PC and paste the code provided into your Arduino software. In the first tab of your of your Arduino software, paste the code from the Sensor text file, then create a new tab and paste the code found in the Lights file there, then hit upload and you should see your neopixels come to life. Touch the wire you placed into slot 13 on the Arduino to cycle between the different modes.
If anything does not light up, check your soldering and wiring again.
5) Only once everything works should you go ahead and tape your neopixels to the holes found at the bottom of the 3D printed base that you printed earlier (keep in mind, I edited mine to make the holes larger to fit the neopixles in)
For this step, it all depends on how creative you are in being able to fit the neopixles in a way that looks and works best. I admit I did a bad job of this so if you can do a better job, please do. All you are trying to do here is to keep the light source in place.
Once they are in place, test the lights again (if it makes things easier, remove the neopixel wiring from the Arduino when trying to place the neopixels on the base).
Step 4: Foamcore Cutting and Assembly
1) Cut out the pieces as shown in the first picture (4 supporting stands 3.5-4cm, a 6cm high strip *it has to be long enough to be able to go around the 2 circles we cut, 2 circle pieces that are slightly larger than the base of the mushrooms, one of the circles has a little bit cut away to allow for wires to pass through)
Depending on where you place the Arduino, cut a small hole on the strip to allow the USB cable to pass through. To allow the strip to bend and fold as shown in the pcitures, I made shallow cuts that were a single ruler wide on one side of the foamcore.
2) Glue the belt you made to the rounded base and place your Arduino inside and glue the support stands around it (To keep the belt together, at where the 2 ends meet, I placed some Gorilla tape to keep its shape, this is also where I tape the foil tape to the touch sensor). Keep in mind positioning again as you should align the Arduino with where you made the cut for the USB cable to pass through. (remove the Arduino and spray paint the foamcore whatever color you want at this point. Keep in mind that spray paint does melt the foamcore so be careful with how you do it)
3) Place the Arduino at the bottom, plug the USB cable in, gather the wires at the front as shown in the pictures and place the second circle you cut on top of the support stands. Then place your mushrooms on top of that. As mentioned earlier, the touch sensor is taped where the wires pass through as well as seen in the photos. If the sensor does not work right, make sure the wire has proper contact with the foil tape.