So you wanna make a kickass Holiday lightshow music extravaganza eh?
well u can throw one together in a couple days with hardly any expenses...
Here is what I came up with in literally less that 3 days
The most important thing you are gonna need is the controller. There are many out there, but for this tutorial (its easiest and cheapest) we are gonna use the kit74 parallel relay board. 30$, 35$ assembled.
This circuit is going to interface (plug into) with the printer port, and based on what you tell it todo (using software), it will OPEN and or CLOSE each of the relays, completing or disconnecting each of the 8 circuits. (turning things you hook into it, ON and OFF)
ok. so u got ur relay board.
If you need to assemble it, heres a guide with pictures http://halloween.sitenation.com/site/view/article/1082566342/ca
Now you need software to control it...
well there are many free tools out there to make this work. Vixen and comet (comet is not supported anymore so u can grab it from alloutchristmas.com's download section
I made my own software kinda... Ill show you how I did it this past halloween...
I first wrote a peice of software to record the music sycning... You tap the space bar to the song and it outputs the millisecond delays in between the beats. here or compiled here is the source for that (Windows/linunx). This program is used to record the delays inbetween the beats of the music you want, you will use these delays in the second program to actually turn the lights on and off.
Then I wrote/copy pasted code (credit goes to http://www.hytherion.com/beattidp/) to write those delays to the relay board.
windows. This software will use the delays you recorded in the first program (along with the light configurations you tell it) to display your show! (by default I tapped out "shave and a hair cut" for the test program) (you will need this dll to run the windows version (Xp says its not safe to allowe Ring 3 to parallel ports))
I also yoinked code from http://www.epanorama.net/circuits/lptout.c to make the linux equiv here
Writing to the board is relativly simple. Its simple binary.
light 1 2 3 4 5 6 7 8 dec 1 2 4 8 16 32 64 128 hex 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80