Introduction: Sound Reactive Hot Glue Lamp (VU Meter, Arduino)
This instructable will be about making a lamp made out of hot glue sticks and wood which lights up corresponding with the loudness of the music input. This lamp incorporates an Arduino which is used to detect the loudness of the music according to some set thresholds. The sensitivity is adjustable through the code. This lamp has a very clean final look and in my opinion looks awesome! :D Let's get started!
Step 1: Tools and Material Required
This is one of the rather basic Arduino circuits so not a lot of material is required for making this project. You will need:
- 10x Blue LEDs (or any other color you like, blue and white are the brightest).
- 10x 100 ohm 1/4w resistors.
- Perfboard. (Or breadboard)
- Wood cut to dimensions provided in next step.
- Arduino. (Any version can be used)
- 10x Hot Glue sticks.
- Audio Jack.
Tools-wise, you will need:
- Soldering Iron and Solder.
- Hot Glue gun.Some wire.
Step 2: Cutting Wood
Now we have to make the base for the lamp. It is made from 0.5 in. thick wood. There also needs to be a groove halfway between the wood for the wiring. Besides that, you need to drill 10 holes at a set distance apart from each other exactly in the middle. You also need to leave a set amount of space the last hole till the tip of the wood on both the sides. After cutting the wood, I sanded the edges just a bit but whether you do that or not is totally up to you. Removing the paper from the wood was very hard because I had used wood glue to stick it on so don't do that, use a glue stick or something. I tried acetone, oil and a lot of other things but had to sand it off in the end which took like an hour.
Step 3: Gluing and Connecting LEDs (Part 1)
The next step in making the lamp is to glue the 10 LEDs in the holes that were drilled earlier in to the base. The LEDs can be held in place with superglue or a bead of hot glue from the bottom. After that, bend all the cathode (negative) leads of the LEDs downwards and solder them together. To do this, the LED's legs can not be bent downwards at a 90 degrees angle with the leds but instead they need to be slightly raised so that it is actually possible to solder them without touching the wood. Solder all the cathode (negative) leads together so that a common cathode lead can be created. Do this part with caution so that you do not burn the wood or yourself. After that, apply a thin line of hot glue over the LEDs so that they do not touch with the anodes and create a short. Now, solder a piece of wire to the cathode rail. (If you did not understand what I said, just refer to the attached wiring diagrams and if you need help, just ask in the comments :))
Step 4: Gluing and Connecting LEDs (Part 2)
After that, solder a piece of wire to each of the anodes of the LEDs (and some heat-shrink to avoid shorts) so that if power is applied to the common cathode and to one of the anodes, that LED lights up. Make sure to keep the length of the wire long enough so that it reaches several inches outside the wooden base. After that, route the wires out of the cutout, fill the groove with hot glue and once that is done, remove the excess with a cutter. I sanded mine down to make it flush with the base. Be careful during this step and try to avoid any burns to yourself and the wood. (If you did not understand what I said, just refer to the attached wiring diagrams and if you need help, just ask in the comments :))
Step 5: Wiring the Perfboard and Arduino (part 1)
After the LED connections are done, its time to connect the LEDs, resistors and audio jack to the arduino. Firstly, you have to solder all the wires to the perfboard in order (Common Cathode, LED 1 anode, LED 2 anode, LED 3 anode.......and so on. Pictures attached). After that 100 ohm resistors need to be soldered in series with all the anodes. Then, stiff wires need to be added to the com. cathode and the resistors. LED 1 goes to pin 11, LED 2 goes to pin 10, LED 3 goes to pin 9, all the way down to pin 2. The common cathode wire goes to GND pin of the Arduino.
Step 6: Wiring the Perfboard and Arduino (part 2)
After that, solder an audio jack in to the perfboard. If it is a mono jack (2 pins) then just connect the ground wire to the GND pin on the Arduino and the signal pin to pin A0. If it's a stereo jack (3 pins) connect the left channel signal wire to the pin A0 (If you can't find the left channel, solder wires to both the sides and try inserting them one by one. I used a multi-meter on the resistance function to see which pin of the audio jack connected to which part of the audio pin). The negative wire from the audio jack goes to the second GND pin. I have attached wiring diagrams for reference, if you need further help, just ask in the comments.
Step 7: Marking and Cutting the Hot Glue Sticks
Now that the wiring is done, we have to prepare the glue sticks.You have 3 options here. Option no.1 is to just leave the glue sticks as they are and just attach them to the base. Option no. 2 is to make the a glue stick gradient in which the first glue stick is only a few cm and the last glue stick is of almost the full length. Option no. 3, which I chose, it to have a gradient that does not go all the way till the end but only till the middle or so. So in order to proceed with option no.3, the first step is to cut the first glue to stick at a length of 3 in., the next at 3.5 in. and the remaining 8 at increasing increments of .5 inches. This way you end up with a gradient in which the highest length is 7.5 in, and the lowest is 3 in.. I also sanded the cut areas to create a smooth surface and remove irregularities. Once again, diagrams are attached for reference.
Step 8: Attaching the Glue Sticks
Once the glue sticks are cut, we have to attach them to the base. The way this is done is by heating a screw-driver over a flame, poking it in the bottom of the hot glue stick and quickly pushing it over the LED. This is followed by adding some more hot glue in a sort of ring on the outside of the hot glue stick to keep it attached to the base. Instead of using a screwdriver, a soldering iron can also be used but that creates a mess and damages the soldering iron tip. Whenever the soldering iron is heated, it creates the hot glue smell. Do this in a properly ventilated area as the fumes arising from melting hot glue may cause irritation to the skin or some other health related problem. Precautions must be taken to avoid touching the hot screw-driver/soldering iron with the skin for obvious reasons. I also applied hot glue around the base of the hot glue sticks to hold them firmly in place.
Step 9: Uploading the Code
Now that the hardware part is done, it is time to upload the code to the Arduino. To upload the code to the robot, you need to download the Arduino IDE software. It can be downloaded from here. Once that is done installing, connect the Arduino to your PC via the USB printer cable. Then open the Arduino software and go to the 'Tools' from the toolbar and it should say Arduino/Genuino over there. Click on ports and select the one with Arduino/Genuino next to it. Then, enter the code I have provided into the software and click on the right arrow sign at the top left. After some time, it should say Done Uploading. If you are having any problem, leave a comment and I will try to answer it ASAP.
Step 10: Conclusion
That's all! The inspiration for this project came when I saw a video of a person who used the Arduino and some LEDs as a VU Meter so I decided to give it a try and in my opinion, it came out pretty good. I have attached two videos of the VU Meter in action. (The song in the first video is Alone by Jordan Comolli and the song in the second video is Magic Flute by Take/Five). If you are having any problem creating this instructable, leave a comment and I'll try to help you ASAP. Please do leave feedback as I highly appreciate it! :) Thanks for viewing this instructable :D!