After a long wait, I finally have a TLC5940 LED driver chip, so I’ve been making a bit of progress on my ambient orb project. The LED driver works well with the little RGB PCBs in the B&Q disco light after a bit of hacking, cutting tracks to the original controllers and soldering a few wires on to the LED leads. The final ingredients are a Freeduino Nano to squeeze inside the box, along with a 433MHz AM receiver.
So the hardware is mostly sorted, but what about the software? That I’m not quite so sure about. Here’s a vague list of requirements:
- I want the orbs to work when they are connected to a computer directly via USB, or remotely using the 433MHz AM wireless
- It should be possible to use the three orbs as separate ambient indicators, or together in more complex animations, like the weather beacon in Toronto for example
- It should be possible to cycle through several ambient animations, such as a traffic indicator and weather forecast for example
- The information the orbs can display should be easy to modify without reprogramming
My current thinking is that the home easy protocol might be sufficient to send information to the orbs. It is limited, but I think there is also a limit to how much information the ambient device can convey before it stops being ambient. If I have to spend time decoding what it’s trying to tell me, I may as well have messages on a screen. The other potential advantage of using the home easy protocol is the possibility of using home easy remotes to select the information being displayed. A simple protocol also means that simple devices could control the ambient display directly, without requiring an always on server in between.
That covers the wireless connection. My plan is to use the USB connection to send animation information to the device, since this is beyond the home easy protocol. For example, to indicate traffic problems; top orb is alternating dim red and bright red, middle orb is dim amber, and bottom orb is dim green.
Simples! Well, in theory. I’m still thinking about a protocol that would capture the kind of ambient animations that I’m after. If there were several single orb animations, and several multiple orb animations, how would these be shown? Automatically? Based on some notion of priority? Manually using a remote, even though this seems less ambient?
I would love to hear if you have any comments or suggestions.
Update: The disco lights are almost back in one piece, and glowing a bit like they did originally! Just need to solder on the wireless module and get on to the software side! (16 April 2010)