Controlling lights with TI ez430 chronos, home easy, arduino and processing07 Feb 2010
Now that the protocol for basic communication with the TI chronos ez430 has been worked out (see previous posts) I needed to work on something useful. So I set out to try and control my wireless light switch with the watch. Sadly the RF receiver supplied with the chronos does not use a protocol which is likely to ever be compatible with the arduino so this example requires a computer.
The HardwareRecently I've acquired a Home Easy HE217 remote light switch which consists of a unit placed between the light bulb and ceiling rose and a wireless switch to switch the light on and off from anywhere within about 10m. I purchased this with some form of hackery in mind but this is the first real attempt to do anything useful outside of the functionality of the supplied package. The system uses RF at 433MHz and a simple authentication protocol, which is conveniently documented at the Home Easy Hacking Wiki.
<!--more--> 433MHz is a common frequency used by radio controlled devices such as remote switches, garage doors and car remote controls and transmitters and receivers are readily available for very little money (around $5). These can be used for many uses especially in combination with an arduino, following on from the work documented on the Home Easy Hacking Wiki an arduino library has been produced (available here). This allows the arduino to control the light switch in the same way as the provided Home Easy light switch.
The softwareThe software aspect of this project consists of my previous processing sketch which receives button presses from the chronos watch, to this I added functionality so that every time a button press is received a serial character is sent to the arduino in this case H for on and L for off.
On the arduino a sketch is used that reads the serial input and when H or L is received it send an on or off message using the home easy arduino library thus switching the light. The observant among you will have noticed that this is based on the arduino physical pixel example!
The system works even if the watch is taken out of transmit mode and then restarted.
The code can be viewed below.
The codeThe processing sketch chronoslight.pde
The arduino sketch: chronosHE.pde