DMX Controlled Bookshelf in my living room (LEDs & TLC5940)
Timothy D. Swieter
Posts: 1,613
I have finally completed a project that I have had in my imagination since May!· This is my living room complete with DMX controlled LEDs mounted in between my bookcases.·
Here is a link to a video I posted on YouTube.· Yeah, I know, I used TSO as the music.· I like their tunes and since it is Christmas time, I found it appropriate to have my first musical sequence fit with the holidays.· I think my digital camera is sensitive to the blue since the image whites out when the blue is intense.· The color saturation is really good, you will have to believe me or see it in person sometime.
Back in the spring my wife and I moved to Hong Kong.· We ended up furnishing our flat with mostly IKEA furniture.· Our living room was decorated a little more modern than we would have chose.· One night I decided we need a little more color and a little more kinetic energy in the place.· What you see in the video is the solution to our ‘mood’ lighting.
Technical Details:
I am making my post in this forum because the heart of the project is the Propeller.· I used a Propeller Protoboard as the controller.· I wanted to make a PCB, but my budget only had money for one PCB design.· I soldered connectors and the simple circuit for receiving DMX (a standard lighting control protocol) to the protoboard.· There is also a couple status LEDs.· In the near future I will be adding a switch and some sort of display (LEDs or LCD or VFD).
The software for the controller is partially written in SPIN and partially written in ASM.· The final code will have several modes that the LED Towers can operate in.· One mode, of course, is where the controller will received DMX.· The DMX will control the intensity of the different LEDs - this is·what was done for the·video.· The other modes will be various algorithmic routines that change the colors or keep a solid color.· The user interface that I will add will give the freedom to adjust the look, max intensity and rate of change and store looks.
The Prop is running at 80MHz.· The program currently consumes 6 cogs.· One cog is used for the grey scale clock and blank of the TI TLC5940s on each tower (one cog for each tower).· Then there is one cog for each tower shifting out the data based on a buffer.· Then there is the ‘main’ code that changes the mood and stuffs data into the buffers for sending to the towers.· The last cog is the DMX receive code.
The controller is going to be mounted and hidden in the center bookcase.· Ribbon cables run from the controller to each tower.· I want to run the protoboard off of the 12VDC supply I bought for the whole system, but I should build a voltage regulator to get the voltage down for the protoboard.· Right now I run the board at 7.5VDC and it gets hot so I dare not run it with the 5V regulator dropping from 12V!
I designed a 16 channel, RGB LED, controller board.· The board uses three TI TLC5940 chips.· One chip for red, one for green and one for blue.· The chip is really easy to use and to work with.· At the moment my code only send data but not dot correction.· Future revisions of my software will allow for shifting both sets of data out.· Also the current grey scale clock starts running and keeps going forever.· I want to add hooks to pause the grey scale or to force the blank pin high.
There have been others on the forums that have used the TLC5940.· I used their code for inspiration, but in the end pretty much wrote my own software.· The grey scale clock is in ASM because it was easy.· The serial shifting of data is currently in SPIN.· I was going to change it to ASM for speed, but when I checked frame rates I was getting 40+ frames/sec in SPIN.· That is enough for my needs right now.· The software came together rather quickly.· The power of multiple processors really allows for quick writing of software.· it is natural to split tasks apart and make the code much more readable.
The LEDs are a flexible PCB with RGB LEDs soldered on it.· This is a product I bought from one of my vendors in China.· It is a neat product.· It is designed to run with 12 VDC.· The product comes in long lengths and is cuttable every three LEDs.· There are 16 groups of 3 LEDs in each tower.· Each group is wired to the controller.· So that is a total of 96 RGB LEDs.·
The two towers comsume·96 channels of DMX.· I used Vixen Lights to program the show.· Vixen Lights is neat, FREE, software.· I happen to have an Enttec OpenDMX device from my ‘day job’ and it just so happens Vixen Lights has a driver for it.· The TLC5940 allows for 12 bit of control of the LEDs, but I only used the upper 8 bits because that is what DMX provides.
When I made the PCB I had five of them produced.· I used PCBCart.· They have a good service, lots of flexibility.· The price is similar to prototyping services in the USA, maybe slightly cheaper.· I used two of the five boards in my installation.· There are several changes I would make to the boards if I was to build them again based on what I learned from assembling these baords.··If anyone is interested in purchasing the three other boards from me, please send me a PM and we can work out the details.· I don't have any plans for them at the moment.· The boards would be great for building your own LED display or for simply experimenting with the TLC5940.
Enjoy the pictures.· I hope I can inspire you to work on your own projects.· Have a great Chrismtas everyone!!
IMG_3282:· Close shot of the 16 Ch. RGB LED driver board I designed.· It has the TI TLC5940 chip.· The other parts I bought locally in Hong Kong.
IMG_3314:· The controller mounted and wired to the back of the white material used inbetween the bookcases
IMG_3323:· Testing on my living room floor before 'final' installation.
IMG_3328:· Looking down one of the LED towers.· The LEDs are about 4 inches behind the front diffuse layer.· The color range is amazing, vibrant and saturated.· It looks great in person.· I will have to try and take some better pictures and/or video.
IMG_3330:· The Propeller Protoboard with the initial circuitry.· I don't have all the I/O from the TLC chip wired, just the essentialls at the moment.· The ribbon cable has all the·signals so I could monitor for errors if I needed to.· A cable with the 5 pin XLR (DMX connector) connects to the top right.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Post Edited (Timothy D. Swieter) : 12/15/2007 11:55:47 PM GMT
Here is a link to a video I posted on YouTube.· Yeah, I know, I used TSO as the music.· I like their tunes and since it is Christmas time, I found it appropriate to have my first musical sequence fit with the holidays.· I think my digital camera is sensitive to the blue since the image whites out when the blue is intense.· The color saturation is really good, you will have to believe me or see it in person sometime.
Back in the spring my wife and I moved to Hong Kong.· We ended up furnishing our flat with mostly IKEA furniture.· Our living room was decorated a little more modern than we would have chose.· One night I decided we need a little more color and a little more kinetic energy in the place.· What you see in the video is the solution to our ‘mood’ lighting.
Technical Details:
I am making my post in this forum because the heart of the project is the Propeller.· I used a Propeller Protoboard as the controller.· I wanted to make a PCB, but my budget only had money for one PCB design.· I soldered connectors and the simple circuit for receiving DMX (a standard lighting control protocol) to the protoboard.· There is also a couple status LEDs.· In the near future I will be adding a switch and some sort of display (LEDs or LCD or VFD).
The software for the controller is partially written in SPIN and partially written in ASM.· The final code will have several modes that the LED Towers can operate in.· One mode, of course, is where the controller will received DMX.· The DMX will control the intensity of the different LEDs - this is·what was done for the·video.· The other modes will be various algorithmic routines that change the colors or keep a solid color.· The user interface that I will add will give the freedom to adjust the look, max intensity and rate of change and store looks.
The Prop is running at 80MHz.· The program currently consumes 6 cogs.· One cog is used for the grey scale clock and blank of the TI TLC5940s on each tower (one cog for each tower).· Then there is one cog for each tower shifting out the data based on a buffer.· Then there is the ‘main’ code that changes the mood and stuffs data into the buffers for sending to the towers.· The last cog is the DMX receive code.
The controller is going to be mounted and hidden in the center bookcase.· Ribbon cables run from the controller to each tower.· I want to run the protoboard off of the 12VDC supply I bought for the whole system, but I should build a voltage regulator to get the voltage down for the protoboard.· Right now I run the board at 7.5VDC and it gets hot so I dare not run it with the 5V regulator dropping from 12V!
I designed a 16 channel, RGB LED, controller board.· The board uses three TI TLC5940 chips.· One chip for red, one for green and one for blue.· The chip is really easy to use and to work with.· At the moment my code only send data but not dot correction.· Future revisions of my software will allow for shifting both sets of data out.· Also the current grey scale clock starts running and keeps going forever.· I want to add hooks to pause the grey scale or to force the blank pin high.
There have been others on the forums that have used the TLC5940.· I used their code for inspiration, but in the end pretty much wrote my own software.· The grey scale clock is in ASM because it was easy.· The serial shifting of data is currently in SPIN.· I was going to change it to ASM for speed, but when I checked frame rates I was getting 40+ frames/sec in SPIN.· That is enough for my needs right now.· The software came together rather quickly.· The power of multiple processors really allows for quick writing of software.· it is natural to split tasks apart and make the code much more readable.
The LEDs are a flexible PCB with RGB LEDs soldered on it.· This is a product I bought from one of my vendors in China.· It is a neat product.· It is designed to run with 12 VDC.· The product comes in long lengths and is cuttable every three LEDs.· There are 16 groups of 3 LEDs in each tower.· Each group is wired to the controller.· So that is a total of 96 RGB LEDs.·
The two towers comsume·96 channels of DMX.· I used Vixen Lights to program the show.· Vixen Lights is neat, FREE, software.· I happen to have an Enttec OpenDMX device from my ‘day job’ and it just so happens Vixen Lights has a driver for it.· The TLC5940 allows for 12 bit of control of the LEDs, but I only used the upper 8 bits because that is what DMX provides.
When I made the PCB I had five of them produced.· I used PCBCart.· They have a good service, lots of flexibility.· The price is similar to prototyping services in the USA, maybe slightly cheaper.· I used two of the five boards in my installation.· There are several changes I would make to the boards if I was to build them again based on what I learned from assembling these baords.··If anyone is interested in purchasing the three other boards from me, please send me a PM and we can work out the details.· I don't have any plans for them at the moment.· The boards would be great for building your own LED display or for simply experimenting with the TLC5940.
Enjoy the pictures.· I hope I can inspire you to work on your own projects.· Have a great Chrismtas everyone!!
IMG_3282:· Close shot of the 16 Ch. RGB LED driver board I designed.· It has the TI TLC5940 chip.· The other parts I bought locally in Hong Kong.
IMG_3314:· The controller mounted and wired to the back of the white material used inbetween the bookcases
IMG_3323:· Testing on my living room floor before 'final' installation.
IMG_3328:· Looking down one of the LED towers.· The LEDs are about 4 inches behind the front diffuse layer.· The color range is amazing, vibrant and saturated.· It looks great in person.· I will have to try and take some better pictures and/or video.
IMG_3330:· The Propeller Protoboard with the initial circuitry.· I don't have all the I/O from the TLC chip wired, just the essentialls at the moment.· The ribbon cable has all the·signals so I could monitor for errors if I needed to.· A cable with the 5 pin XLR (DMX connector) connects to the top right.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Post Edited (Timothy D. Swieter) : 12/15/2007 11:55:47 PM GMT
Comments
I showed the video to my wife and she said "Don't even think about it" [noparse]:)[/noparse]
I had to woo the housing authority (my wife) to be sure it was ok. There are (and will be more) modes where the lights are soft and slowly morphing from one color to the next. It is a good mood light but a heck of a converstation piece to show off when guests are over.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
-Phil
awesome setup... now all you need to add is some Quad ESL electrostatic speakers.+ Quad Amps..
Some cool music from ·Mike Oldfield .."Tubular bells" or Jean Michelle Jarre "Magnetic Fields" and you can
totally 'SPIN OUT" ..
That is a neat setup.. well done.
Had a peeky boo at the tube movie .. cool.
Cheers·· Ron Melbourne OZ..
Does it automatically do the colors? Or, is it arranged? I think with Paul's simple audio analyzer (or an FFT), you could make it automatic...
I was pondering a similar thing to make my own "Ambilight" beside my TV...
Well done....... very impressive project !!!!
Really it looks great... ( I love to play with the LED's too )
It looks like the "LED tubes" used in the shows.
Congratulations.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
BTW I see you used Vixen. It warms my heart that the many long nights helping develop the OpenDMX plugin for Vixen were used for such a cool project.
If anyone else is interested in Vixen and/or DIY computer controlled Christmas lighting please do stop by. I'm the moderator for the DMX forum.
http://www.christmasinshirley.com/forum/index.php
·
The show in the video is all program/scripted/designed by me. There are several features that I am considering for the future. The features will get implemented as I need them or as I need a programming challenge. The features include:
-user interface
-various algorithmic changes of lights that 'free run' based on rate and intensity values set by the user
-beat/music detector using something like an FFT as mentioned above
-storing of programs on the controller (recording of DMX?)
I think it was a great project because it was fun to do and it was practical. Thanks DynamoBen for the OpenDMX driver. I didn't realize you created it. It is a great addition to Vixen Lights. I have a coworker that wishes there was a driver for the Vellum DMX device.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Personally I have a request in to create an ACN plugin. Not the full ACN version but the lightweight streaming DMX version. Wiznet + ACN plugin = fun. [noparse];)[/noparse]
Post Edited (DynamoBen) : 12/16/2007 5:55:31 PM GMT
Unfortunately my wife gave the same answer as Mpark's wife
Regards,
Coley
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
When the going gets weird, the weird turn pro. -- HST
A good job
si se
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Shawn Lowe
Maybe I should have waited to do that......
The diffuser is a white plastic sheet of sorts. It is corregated. I don't know how else to descibe the material. It came with the IKEA bookshelf and is try fold. The instuction say the material is suppose to attach to the back of the bookcase, but we decided we wanted to look through the bookcase to the wall. So one day I fashioned it to go in between the bookcases because I didn't like the dead space. The material is lightweight and flexible.
DynamoBen. I will tell my worker. He is not a C# programmer. Really you are going to use ACN? Seems like a large leap! Why not artnet? That sounds a bit easier and it is an open standard. I am working on a WIZnet module and one of my goals was to implement Artnet so I could learn more about it. Maybe we should start another thread and discuss that.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
In this case, her preemptive "Don't even think about it" was just a joke. She knew I wasn't seriously thinking of taking on such a project.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
The key things to look at are the DMX driver and the TLC5940 drivers.· The DMX driver I recently posted in the object exchange.· The TLC5940 driver needs more work before I want to post it in the object exchange but they are functional and probably a good read for anyone using the·chip or wanting to use the chip.· The driver for both the DMX and the TLC are configurable.· In other words you set what pins you want to use.· This includes the grey scale clock of the TLC5940.
The TLC5940 driver is pretty much in SPIN.· One cog runs the grey scale clock which is ASM, but another cog runs a spin routine that is clocking out the data to the chip.
If you have any suggestions or comments about the code, please let me know.· I like to learn and improve.
The functionality of this·program is as follows.··The·program·hangs out in a routine that gentlely cycles the colors on the wall.· If the routine detects a DMX stream coming in, it switches over to display the DMX stream.· If the DMX stream disappears it switches back to cycling colors.· Like I said the main code isn't pretty at this point.
Enjoy!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
Post Edited (Timothy D. Swieter) : 12/18/2007 1:18:24 PM GMT
that would work.
Got any Ideas?
kevin
I used 3 pieces of the TLC5940 in series. I didn't do the additional multiplexing that you have planned. I beleive there is another thread on the forum about someone doing something similar. I recommend just using the TLC5940 and avoid the additional complexity. It is best to series a couple LEDs to bring the voltage closer to your power supply voltage and avoid the wasted energy of dropping the voltage down. For instance, I had 3 LEDs in series with the appropriate sized resistor that lets me run the system at 12V.
Your projects sounds exciting, let us know what you come up with. Oh - and a PE kit under the Christmas sounds like a great gift!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
"...When I was coding my DMX routine I got excited because the activity LED was blinking. When I got my WIZnet module working I was excited because the LED is blinking. Surely my wife thinks I am insane because all she sees is a blinking LED. LOL!..."
I think many of us and our spouse are in the same boat. The dead giveaway, is the "dear in the headlight" syndrome when you are trying to explain something, and all your spouse can do is to just to grin and nod their head.
Good job with your project!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
top of a table?
Franj
Frank
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark of imagination is all it takes for an idea to explode
more info can be found here...
www.kettering.edu/~kein0105/newyearsphere.htm
As you can see it does a nice job defusing the light from a tri-color LED, considering there is only one under each panel.
Here is a link to where I purchased the plastic...
1/8"
www.usplastic.com/catalog/product.asp?catalog%5Fname=USPlastic&category%5Fname=21314&product%5Fid=9792
1/4"
www.usplastic.com/catalog/product.asp?catalog%5Fname=USPlastic&category%5Fname=21314&product%5Fid=9841
If you want any more information let me know.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Jon
www.jonkeinath.com
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.