Slashdot Mirror


Innovative Christmas Light Setups?

glitch0 asks: "Recently, I found some pretty neat Christmas decorations, at a neighbors house. He has a light setup that syncs up with MIDI files of Christmas music. The cool part is the way you hear the music - it's broadcast using a radio transmitter so you can tune your car radio as you're driving by and hear and see the show. Do any other Slashdot readers have cool homebrew light setups or ideas for over-the-top holiday decorations?"

3 of 36 comments (clear)

  1. Try to top this... by anhyzer_mush · · Score: 5, Interesting

    This is waaaayyyy over the top. It's about 2-3 minutes long.

    http://monke.undeadclan.com/Wizards_of_Winter_-_SM .wmv

  2. expertise by doorbender · · Score: 2, Interesting

    thanks for the link Gulthek

    it led me here http://computerchristmas.com/index.phtml?link=how_ to&HowToId=4&LowLimit=0

    a picture of it complete.
    http://computerchristmas.com/tmp/myimages/4-comple te2.jpg
    it'll controll 8 circuits per port hehehe

    --
    "He's a real midnight golfer"
  3. do 200 RGB LEDs w/microcontrollers on tree count? by Miamicanes · · Score: 2, Interesting

    As it so happens, I'm taking a break right this moment from the project that's consumed most of my free time for the past month, and likely to consume substantially all of it for the next week and a half: a string of 50 serial-networked Atmel ATtiny2313 microcontrollers, each juggling 4 independent RGB LEDs (total cost, not including support and development hardware, ~$250). As soon as I'm convinced that the bootloader I'm (hopefully) finishing this weekend can, in fact, successfully re-flash the chips once I've soldered them together and can't easily get at the SPI pins, the first 10-controller/40-LED segment will get built.

    What will it (hopefully) be able to do? At the minimum, I'm hoping to program the following effects:

    * each LED individually flickering like a candle flame, randomly and independently changing colors

    * whole tree changing color in sync: red->yellow->green->cyan->blue->violet->red. This was actually a hard mode to program, because I had to re-do the entire LED-flashing algorithm to support temporarily combining the pair of 16-byte color buffers used by the two ports (each port controls 2 LEDs) into one big 32-byte buffer and increase the color resolution from 2 bits to 3 bits for slow whole-tree fades. I also had to change the pin assignments, to make sure that each port bit controlled an element of the same color on both ports.

    * "Stupid Mode", where the controller sends 3-bytes in a row specifying the 2-bit RGB values for each of the four LEDs. I don't really plan to do much with this mode, but it's there as a backup plan if the bootloader scheme fails and I can't reflash the firmware at some future point. By cranking the baudrate up to 38.4k and speeding the controller up to 20MHz, I could probably pull off some decent effects. But I really want to make each controller smart and autonomous, so the controller just has to say, "group 3, slowly fade from red to violet, then hold using flicker effect #2 for 8 seconds before proceeding to the next instruction".

    * of course, there's also "zombie" mode, activated by powering up the string without the controller. It's rather stupid and simple, but knows how to randomly change each LED's color every second or so. It's there to make sure that if I royally screw up the firmware on Christmas Eve, I'll still have an ok-looking tree to show off...

    There will ultimately be 5 segments, connected together with a 5-pin DIN female socket on one end, and similar male plug on the other (3 wires total... Vcc, Gnd, and Serial data). One end will plug into the power supply and controller, which has a beefier microcontroller (ATMega162) to act like an orchestra's conductor and coordinate their activities when appropriate (and reflash the downstream microcontrollers when I update their firmware). Normally, all 50 chips will just watch the Serial line for 9600-baud serial broadcasts from the controller, but when given a reason and an opportunity to do so, they can individually pull the bus low to send crude signals back to the controller.

    I'm still undecided about making them individually-addressable. My current plan is to make them group-addressable, with software-selectable group sizes of 3, 4, and 6. I can easily accomplish this by grounding none or one of the two "A" pins (3 possible groups: for 3-LED groups, they'd be 1-2-3-1, 2-3-1-2, and 3-1-2-3; for 4-LED groups, it would be irrelevant (each controller has 4 LEDs); for 6-LED groups, they'd be 1-2-3-4, 5-6-1-2, and 3-4-5-6. If I make them individually-addressable, I could do it the "easy" way and hardcode the base address of the first LED into each microcontroller's (basically-)immutable bootloader... but then I'll have to connect the strings in the right order. Alternatively, I can daisy-chain a fourth wire from the second "A" pin of each to chip to the first "A" pin of the next and use the neighbor-to-neighbor signaling to enumerate the string at reset. But really, as ideologically appealing as it seems to make each LED individually-addressable, I