After exploring the Instructables website I found a few projects that peaked my interest and those lead me to thinking, I could make some musical Christmas lights. Most of what I spent my time on came from Amanda Ghassaei's Instructable on Frequency Detection. I owe a lot to her work! The rest is simple use of relays.

I also want to preface this Instructable with the fact that I did not make this one to look pretty behind the scenes and some of the pictures will not match my instructions because after doing the project myself there are a few things that I would do differently, which I include in the Instructable. Also, I am by no means a professional! This is a recent hobby and I am sure that many improvements could be made, so feel free to make improvements but please leave comments so that people can use them in the future as well.

Items you will need:
Mp3 player (any will work)
Stereo with audio in (or transmitter if you already have the know how to broadcast like the cool houses)
3.5 mm audio cable (from old head phones or wherever)
3.5 mm audio splitter (one lead to the Arduino the other to the stereo)
Arduino Uno
2.1mm power plug (for the Arduino)
Extension Cord (that you can cut up and use)
2 10k resistors (brown, black, orange)
1 10 µf capacitor (polarized)
5 150 ohm resistors (brown, green, brown)
1 pack of jumpers and headers  (http://www.radioshack.com/product/index.jsp?productId=12825863)
5 Solid State Relays  (digikey part number 425-2395-5-ND)
Protoboard (preferably one with the copper rings)
Solder-less board (optional but encouraged)
5 electrical Sockets from local hardware store
Electrical boxes for the sockets
4 Zip ties and a drill

Step 1: Setup audio input

The first thing that you will want to do is setup the audio input and test it to make sure that you are reading frequencies. To do this you will want to set it up the components like in the schematic shown on this page. I recommend doing it on a breadboard first so you can test it before soldering and committing to the setup.
Attached to this step is a compressed file with an Arduino Sketch you can load directly to your Arduino. Once you load the program and start playing a song you can look at the frequencies using Arduino's serial monitor or make a txt file using the program I built, which is also in the file.
Once you are sure that the configuration is working for you, solder a pair of the jumpers from the jumper kit to the bottom of a protoboard to plug into your Arduino and solder your other components together on the top with the resistors soldered to the jumpers.

Your Arduino will power itself through the USB cable, but if you are like me you don't want your computer attached to this all of the time. So this is where your power connector comes into play. The Arduino uses a center positive configuration and can use 7-12 volts ideally (see www.arduino.cc for details). Find what wire goes to the center and hook that to the positive of your power source and the outside sleeve to the GND or negative. You can use a 9V battery or any other power supply that meets the Arduino's requirements. I personally tried a 9V battery and changed to one of the 12V leads from the PC power supply that I use to power my car stereo deck converted to home stereo that I use with this project. Just a warning, if your battery voltage drops below about 7V the 5V output drops to about 2.49 and your display stops working. I had this happen once, right after making a few changes to my setup, and it took a few minutes to figure out for sure that the battery was too low and causing the problem.
<p>Hi I'm going to try this in my dorm room with maybe 8 different channels. I've got some Arduino experience so I shouldn't have any problems there. Any other advice for me? </p>
<p>Nothing new really. If you have some experience with Arduino then I bet that you have some experience with electricity in general. I just want to take the opportunity to say again to everyone, please be careful and don't shock yourself while building it (i.e. don't work on it while it's plugged in). In a dorm room make sure that you take extra care to cover all of the 120v wires properly so you don't short anything and start a fire.</p>
<p>Great instructions, tested it using the LED works perfect, next step going to add the relays, I was wondering if there is way to increase the number of channels? </p>
<p>Yes. All you would have to do is use the remaining pins (2-7), include them in the code and play with the frequencies for each of them until you are happy with the results. If you buy one of the bigger arduino boards it has even more outputs.</p>
<p>how much voltage you use to load? I've read the datasheet of relay you use, it's 120VAC. can i use it for voltage load 220VAC?</p>
<p>Only if you had 220VAC lights. Basically all I was doing is using solid state relays as a controllable light switch by putting them in series with the supply to the sockets.</p>
I saw online that the black wire is supposed to be the &quot;hot&quot; wire and the white is neutral... should I still follow your given directions? Thanks, great project!
You can wire it either way as long as you are consistent and make sure you switch the hot wire and not the neutral.
This is awesome! Did you used a mono signal for the audio cable?
I actually just used a regular stereo audio cable.
I used a mono cable from the splitter to the Arduino and I get a bunch of random gibberish frequency vales. Need to retry with a stereo plug.
looks awesome! definitely post that video and send me a link when it's up
Video is up
love it! just a suggestion- take a frame from the video and set it as your main image, also embed the video in the intro, that way people will have I better idea about what the project is when they see it browsing through the related or recent feeds. <br />http://www.instructables.com/id/How-to-embed-a-video-on-Instructables/
Awesome project ! Would like to take a look at your code but when I try to open or download, all I get is an htlm of giberish. Can you include it in text format or something similar.Thanks!
I posted a ZIP file. Let me know if that helps. I don't know how to do a scrolling window in the Instructable and the code takes up a lot of room.
The video is up
I had attached an RAR file and I know some people might not use it much so I attached a ZIP file as well. Hope this helps. I don't know how to put a scrolling text window in my instructable and it takes a lot of space or else I would just put the code straight on the page.

About This Instructable


52 favorites


More by thone: Arduino Powered Musical Christmas Lights
Add instructable to: