DIY Christmas Lights Set to Music - Choreographed House Lights
Intro: DIY Christmas Lights Set to Music - Choreographed House Lights
DIY Christmas Lights Set To Music - Choreographed House Lights
This is NOT a beginner DIY. You will need a firm grasp on electronics, circuity, BASIC programming and general smarts about electrical safety. This DIY is for an experienced person so I will not go into detail about how to solder or how to read schematics etc. Sorry, it would take way too long to write an instructable that included schooling in electronics.
Here is a DIY to make your house christmas lights Choreographed to any song you want. It's not easy but if you're good at electronics YOU CAN DO IT!
This is NOT a beginner DIY. You will need a firm grasp on electronics, circuity, BASIC programming and general smarts about electrical safety. This DIY is for an experienced person so I will not go into detail about how to solder or how to read schematics etc. Sorry, it would take way too long to write an instructable that included schooling in electronics.
Here is a DIY to make your house christmas lights Choreographed to any song you want. It's not easy but if you're good at electronics YOU CAN DO IT!
STEP 1: The Components
To get started you'll need 16 MOSFETS, 16 Relays rated at 9V 10A, blank PC board, Cat5 wire, hot glue, a transformer rated to drop down 110V to 9V a bridge rectifier and Capacitors from Radio Shack.
STEP 2: Schematic
Here's a diagram of the circuit you'll need to build. It's basically a transformer to power the 9V relays. Then a microcontroller (later steps) will send a signal to the MOSFETS which will then activate the relays which will turn the 110V power on to the individual plugs.
STEP 3: Mechanical Relay Pack
Heres a picture of how I wired the relay pack. You can put them on a board if you want. I used CAT5 wire for all low voltage circuits and 12GA wire for the 110V applications. I recommend hot gluing all wires together to keep them from bending or breaking.
STEP 4: Relay Pack
Here's another pic of the relay pack with the rest of the board we'll build soon.
STEP 5: MOSFET Pack
Here's the MOSFET pack on the circuit board. You'll have to be creative when wiring them. If you like to etch your own board you cn do that but I just used wires and solder.
STEP 6: Wiring the MOSFETS
Here's the underside of the board where I wired the MOSFETS. I used 3 pieces of CAT5 wire. You can see the blue CAT5 wire to the left and right. This keeps it somewhat neat and organized.
STEP 7: Wired Circuit Board
Here's a pic of the entire board built. We'll get to the microcontroller board soon. But, now you can glue the transformer to the board, hook up the rectifire and capacitors and wire the relays to the mosfets. You'll have 16 large wires to go to the 110V AC outlets, a 110V AC Input and a strand of CAT5 to go to the microcontroller.
STEP 8: Wired Outlets
I got this plastic box and individual 110C outlets on ebay. Here's the back of the outlets and switchs wired. I used all 10GA wire.
STEP 9: Wired Box
Here's the box completed. I added a fan and fuse for safety. All we need now is the microcontroller.
STEP 10: Microcontroller
You can buy the board you see in my box for the microcontroller at parallax.com. It's the BASIC STAMP development board. I also used the BS2e module. You'll probably want to familiarize yourself with this software but it uses BASIC programing language so it's pretty easy. I'll attach a copy of one of the programs I wrote to the next step.
STEP 11: Writing the Program
This is what takes the most time. Since it's such a basic program you actually have to program every milisecond. It takes many hours to get this right but it's worth it! You can program the chip to turn lights off and on at any time in sequence. Here's an example of the wizards program.
'{$STAMP BS2e, Wizards2.bse, Wizards3.bse}
reps VAR Byte
freq VAR Word
repsl VAR Byte
LOW 1
LOW 2
LOW 3
LOW 4
LOW 5
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
LOW 13
LOW 14
LOW 15
LOW 16
PAUSE 4300
'first beats'
reps = 1
FOR reps = 1 TO 7
PAUSE 450
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
NEXT
'first run up'
freq = 200
HIGH 1
PAUSE freq
HIGH 2
PAUSE freq
HIGH 3
PAUSE freq
HIGH 4
PAUSE freq
HIGH 5
PAUSE freq
HIGH 7
HIGH 8
PAUSE freq
HIGH 12
HIGH 13
PAUSE freq
LOW 1
LOW 2
LOW 3
LOW 4
LOW 5
LOW 7
LOW 8
LOW 12
LOW 13
'second beats'
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
reps = 1
FOR reps = 1 TO 6
PAUSE 450
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
NEXT
'run up then down'
freq = 200
HIGH 2
PAUSE freq
HIGH 3
PAUSE freq
HIGH 4
PAUSE freq
HIGH 5
PAUSE freq
LOW 5
PAUSE freq
LOW 4
PAUSE freq
LOW 3
PAUSE freq
LOW 2
PAUSE 100
'first crazy up and down'
freq = 50
FOR reps = 1 TO 6
HIGH 7
HIGH 8
HIGH 9
PAUSE freq
HIGH 5
PAUSE freq
LOW 6
LOW 7
LOW 8
LOW 9
HIGH 4
PAUSE freq
LOW 5
HIGH 3
PAUSE freq
LOW 4
HIGH 2
PAUSE freq
LOW 3
HIGH 1
PAUSE freq
LOW 2
PAUSE freq
PAUSE freq
HIGH 1
PAUSE freq
HIGH 2
PAUSE freq
LOW 1
HIGH 3
PAUSE freq
LOW 2
HIGH 4
PAUSE freq
LOW 3
HIGH 5
PAUSE freq
LOW 4
HIGH 7
HIGH 8
HIGH 9
PAUSE freq
LOW 5
PAUSE freq
PAUSE freq
NEXT
LOW 7
LOW 8
LOW 9
END
Attached is a Word file containing the entire program. Also attached is the audio for it. Just flash it to your module and it's ready to go. Email me if you want more programs and I'll send them to you
'{$STAMP BS2e, Wizards2.bse, Wizards3.bse}
reps VAR Byte
freq VAR Word
repsl VAR Byte
LOW 1
LOW 2
LOW 3
LOW 4
LOW 5
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
LOW 13
LOW 14
LOW 15
LOW 16
PAUSE 4300
'first beats'
reps = 1
FOR reps = 1 TO 7
PAUSE 450
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
NEXT
'first run up'
freq = 200
HIGH 1
PAUSE freq
HIGH 2
PAUSE freq
HIGH 3
PAUSE freq
HIGH 4
PAUSE freq
HIGH 5
PAUSE freq
HIGH 7
HIGH 8
PAUSE freq
HIGH 12
HIGH 13
PAUSE freq
LOW 1
LOW 2
LOW 3
LOW 4
LOW 5
LOW 7
LOW 8
LOW 12
LOW 13
'second beats'
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
reps = 1
FOR reps = 1 TO 6
PAUSE 450
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
PAUSE 100
HIGH 15
HIGH 16
PAUSE 50
LOW 15
LOW 16
NEXT
'run up then down'
freq = 200
HIGH 2
PAUSE freq
HIGH 3
PAUSE freq
HIGH 4
PAUSE freq
HIGH 5
PAUSE freq
LOW 5
PAUSE freq
LOW 4
PAUSE freq
LOW 3
PAUSE freq
LOW 2
PAUSE 100
'first crazy up and down'
freq = 50
FOR reps = 1 TO 6
HIGH 7
HIGH 8
HIGH 9
PAUSE freq
HIGH 5
PAUSE freq
LOW 6
LOW 7
LOW 8
LOW 9
HIGH 4
PAUSE freq
LOW 5
HIGH 3
PAUSE freq
LOW 4
HIGH 2
PAUSE freq
LOW 3
HIGH 1
PAUSE freq
LOW 2
PAUSE freq
PAUSE freq
HIGH 1
PAUSE freq
HIGH 2
PAUSE freq
LOW 1
HIGH 3
PAUSE freq
LOW 2
HIGH 4
PAUSE freq
LOW 3
HIGH 5
PAUSE freq
LOW 4
HIGH 7
HIGH 8
HIGH 9
PAUSE freq
LOW 5
PAUSE freq
PAUSE freq
NEXT
LOW 7
LOW 8
LOW 9
END
Attached is a Word file containing the entire program. Also attached is the audio for it. Just flash it to your module and it's ready to go. Email me if you want more programs and I'll send them to you
STEP 12: Set It All Up
Now, find a spot in your garage to house the box. I had my laptop out there so I could flash different songs on the chip. Play the music loud in your house and trip the lights on at the appropriate time and you'll probably get your name and house in the newspaper like I did.
Here are some videos
The Best one
http://www.youtube.com/watch?v=2Cj-morKHPQ
Another good one
http://www.youtube.com/watch?v=co-eirSUmsk
No sound on this one. Just crazy capabilities of the system
http://www.youtube.com/watch?v=oZhcyr4RYLg
Here are some videos
The Best one
http://www.youtube.com/watch?v=2Cj-morKHPQ
Another good one
http://www.youtube.com/watch?v=co-eirSUmsk
No sound on this one. Just crazy capabilities of the system
http://www.youtube.com/watch?v=oZhcyr4RYLg
STEP 13: The Best Video
The Best One
It's a little repetative but it gets BETTER NEAR THE END so be sure to watch the whole thing!
BETTER NEAR THE END
It's a little repetative but it gets BETTER NEAR THE END so be sure to watch the whole thing!
BETTER NEAR THE END
STEP 14: Another Video
STEP 15: Capabilities
Here's a video of the capabilities of this system. The lights are all LED so they can turn off and on faster than the eye can see.
62 Comments
FreddyJ1 8 years ago
here is my email could you email me the word doc with the program codes. Thank
freddy@computingmadeeasy.org
Ram15004x4 14 years ago
I have read everything I can find on the Basic Stamp 2 Microcontroler. But I can't find anything On how to flash The Music and the code to the chip. Even in their forums.
Can you shed some light on this or tell me what book or books I need to read because I really want to build one of these.
Keep up the great work.
Ram
Ps. love the Basketball
stempile 13 years ago
There is an awesome wiki as part of that community as well here: Do It Yourself Christmas Wiki
I stated out in 2005 with my own build, it was hard, time sucking and buggy!
Then I had success with Vixen software and the DIY Renard64 hardware with SSRoz boards. Its all in the wiki on how to get started and what it is all about.
ms
prabbit22m 14 years ago
The music is totally seperate from the light control. I just started the lights and the music manually at the same time. There's not enough room on those chips for music. The big chip barely has enough room for the program.
The Arduino is another great stamp module and it has a ton of support. If you get the MEGA version it's got a ton of outputs.
Good luck!
-Peter
fujosamu 13 years ago
BrefelanDesigns 14 years ago
mathieulj 14 years ago
chipmonger 14 years ago
I've used these things on a number of outdoor lighting projects. The nice thing about it is instead of running ac extension cords back to the control box, I run low voltage cable to the powerswitchtails that are located close to the light strings.
dooj 14 years ago
tony112 15 years ago
prabbit22m 15 years ago
BlackHatCracker 15 years ago
prabbit22m 15 years ago
BlackHatCracker 15 years ago
RoyalPayne 15 years ago
Sandisk1duo 15 years ago
prabbit22m 15 years ago
Sandisk1duo 15 years ago
jongscx 15 years ago
Sandisk1duo 15 years ago