This instructable is all about a new product I'm developing called "Kemper LED Lamps". To show off the capabilities, I plunged 64 lamps into a 18" glass vase. The vase was then filled with 23 pounds of clear glass marbles. The way the light bounces off the glass marbles is really neat.
Have a look at the video below. The video is my attempt to show some of what can be done with the Kemper LED Lamps.
Make sure to see the extra demo that is shown at the end of the video clip. In other words, after the music stops, an extra couple of sequences are demoed without music.
Step 1: Kemper LED Lamps
The basic design of each lamp is really rather simple. The lamp is made up of (1) Pic 12F609 micro, (4) wide-angle 20mA LEDs (red, green, blue, and white), (4) current limiting resistors, (1) filter cap, and (1) 16x19 mm PCB.
Each LED is being driven off one of the micro output pins. The output pins are continually updated using a pulse width modulated (PWM) signal. The PWM outputs also have slew rate control in both ramping and decaying. All this gives the LEDs a nice warm glow as they transition from one level to another - no hard on/off edges (unless you set high slew rates).
Each lamp has a hard coded node address and is programmed to respond to almost a dozen commands. All the nodes will respond to one, reserved, global node address. Finally, a node can be programmed to have several alternate node addresses. The alternate addresses allow nodes to be grouped together and accessed with a single command. The communications protocol supports up to 255 nodes on the bus.
Each lamp's communication consist of a single micro I/O pin. Each lamp acts as a slave on a shared communication wire. If a data packet is sent directly to a single lamp then the lamp will acknowledge the message by broadcasting his own node address back on the comm bus. Just a simple summation checksum is used to verify communication. To date, I've test the communications with 64 nodes all connected together on one bus. Under continues operation I might detect one lost packet per hour.
Each lamp is processing 2 million instructions per second (2MIPS). So the string of 64 lamps are pushing those 256 LEDs around using 128MIPS of horsepower! Makes for a scalable design - when more LEDs are added, more MIPS are also automatically added. I know what your thinking - don't worry, the micro is only 70 cents - in fact, the four LEDs together cost more than the micro.
Step 2: Building Up the Vase LED Demo
I made two strings of lamps for the vase. Each string has 32 lamps and is 16' long. With both strings in the vase so there are 256 LEDs under computer control all over a single 9600 baud RS232 channel. Both strings make a parallel connection at the RS232 interface board.
Each string, at full power, can draw a maximum of 2.5Amps. So, with all the lamps turned on, the vase is illuminated with 25 watts of LED power! Truth be told, it's just too hard to look at when all the LEDs are on fully.
Since the two strings make a parallel connection at the RS232 interface board only 2.5Amps flow through each string. Each lamp has large traces to pass the DC power down the string.
Step 3: Vixen Lighting Automation
Vixen software is designed to control Christmas lights in your front yard. It makes it easy to set-up a bunch of output channels. The channels are then mapped to MP3 music.
Here is the link to the Vixen web site:
There is already a bunch more info on the internet about this software package so I won't rehash more here.
For my application, I guess I needed to write a custom plug-in for Vixen. Being a typical "lazy" engineer I took a different approach. I ran Vixen (a MS Windows app) inside VMware on Linux. VMware allows a comm port to be redirected to an output file instead of an actual hardware port. I then ran a little Python script under Linux that continuously processed new strings coming from Vixen. The Python script converts the simple Vixen comm messages into messages the Kemper lights can understand.
In the future I guess I'll have to knuckle under and actually write a plug-in for Vixen.
Step 4: Conclusion
There are a ton of other applications for these lamps.
Here is my wish list:
1) Build another 64 lamps so I have a total of 128. I want to light up my Christmas tree this year. With 512 LEDs @ 50 watts it should really look stunning! I can't wait to program some falling snow while the tree glows with color.
2) I also want to try and arrange a string into a figure eight. Kinda like a seven segment display. I'm thinking I can build a really large multi digit display on a sheet of cardboard. Could be used at my son's soccer games to keep track of the score.
3) Also seems like a good idea to build something glowing which is also connected to the internet. Maybe something that changes color based on the weather, or stock market.
4) I've got a buddy who wants to outfit is rod with glowing lights. I'm trying to talk him into letting me hack into GMLAN so we can pick off engine speed. It would be really cool to have the LEDs rev with engine revs! Not too hard to do either.
5) One of these would be great for my boy's Cub Scout project: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ Of coarse, it would need some programmable LEDs that would fade off over an hour, or two's time. Would make for a great night light for kids.
The long term plan is to sell the lamps to all those interested. I've already had a bit of interest so far. If your one of those interested people then send me an email and I'll let you know how we can get you some lamps. I'm also working on my web site to make it useful. You can always stop by at www.ph-elec.com to see what's going.
So much to do with so little time.
Thanks & Hope you enjoyed the light show,