I beat Wal-Mart to Xmas by a month.

I finally finished and tested my Raspberry Pi Christmas lightshow box. Its a little wonky, but I was never the great woodworker. It’s also a little bigger than it needs to be, simply because I like to have plenty of space. I’m going to be using LED light strings, which are low enough wattage that I can use all eight plugs without overloading the circuit.

From top to bottom:

Black box with the old style grey ribbon cable coming out is the computer controller, the Raspberry Pi. Its powered by the 5 volt phone charger in the plug to the right. The charger also supplies 5 volts to the relay board.

Below the plug mounted to the board is a clear/black terminal bus for the hot side of the 120v supply. It splits the hot voltage from the extension cord so that each relay gets its own source wire. The fat white wires are neutral and the fat greens are grounds.

 

r pi lightshow

On the left side, the multicolored wire spaghetti soup on the beige platform is the eight channel divider board. It’s more complex than it needed to be, because I wanted to keep all the LED lights from the prototype. The LED lights help diagnose problems with the relay board. There are eight channels of music, from Bass to Treble. Basically it is like an old school stereo Spectrum Analyzer (the display with the jumping lights on full size stereos and high end car stereos).

Bottom left is the relay board. It’s job it to turn the information from the LED board into mechanical switching motions. They turn the lights on and off based on the signals from the LED board. The black wires go to the plugs.

What you can’t see inside the big blue plug box is a daisy chain of wires. The plugs share grounds and neutrals. Each plug has its own hot wire from the relays. Although there are only 4 double outlets, I’ve broken the jumper on each set so I have 8 individually controlled outlets. You may have a similar setup in your own house, where the bottom outlet is always hot, but the top outlet is controlled by a light switch on the other side of the room.

Here’s the really cool thing:

The raspberry Pi is a neat little single board computer, capable of being used just like any desktop or laptop. You plug a monitor into the side of it, plug in a wireless mouse and keyboard (I like the combo keyboard from logitech with a keyboard and touchpad in one). BUT – if this box of stuff is on the front porch, how do you tell it to start the lightshow?

Raspberry uses Linux, and you can remote into it using SSH (on a mac) or PuTTY (windows). I’ve never used them until now, but basically you get a command line interface to the Pi, through a terminal window on another computer. So I can plug in the lightshow box, wait about 10 seconds for the Pi to boot, and then log into it through my Mac and tell it what to do.

The only thing this whole trainwreck is missing right now is a little amplifier and speaker for the music, but I’m thinking of doing one of two things: Using a cable output to my stereo speakers, OR using low power AM to transmit the signal to anyone driving by a few hundred yards. That way only the lights will disturb people, and not the music.

I painted the whole box red to protect it from the weather, and plan on screwing it down directly to the porch to keep someone from stealing it. There’s probably $100 worth of parts in it, but I’d hate to lose the Raspberry. I’m going to image the whole disc before putting it out there. For $35 I could get a new one and make it a dedicated Pi for the lightshow. Thats the nice thing about these, they are cheap!

Advertisements

Author: theosus1

New to this...will fill this out later.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s