|
I have just completed a working prototype of an RF remote control timer device. This device is a replacement for the X-10 wireless remote controls I have used (and sworn at) for many years. X-10 controllers use something called "power-line signalling", which sends commands by imposing small squiggles on the AC waveform of the house wiring. They are often unreliable and the modules fail more often than is desirable.
A couple of months ago, Chris offered a Sector67 class on hacking some RF wireless remote control devices (photo below). We had limited success directly hacking the device, but we did discover the RF module that they use, and learned that Sparkfun sold compatible RF transmitter modules and that someone in the Netherlands had written and shared Arduino code to control them.
So I downloaded the code and bought a couple transmitters and have been working my way toward an RF remote control timer. This box has a photodiode to turn things on/off at dusk/dawn, plus it can be programmed to turn things on/off at preset times of day. The programming of on/off events is done by plugging a computer into an RS-232 serial port and sending simple text commands. I have also built a GUI interface to allow programming from my laptop, using the LiveCode programming environment.
I first built a breadboard prototype, using an Arduino board and a prototyping shield. I paid special attention to the enclosure and wiring harness, so that I could readily swap the breadboard version out of the enclosure and replace it with a perf-board version, using one of the Arduino Solo boards that Chris has in stock.
So after a 5 hour work session at Sector67 yesterday, I now have a finished perf-board prototype. I was amazed that I managed to get all the point-to-point wiring right on the first try! Of course, it didn't work on the first try: it seems my code got to be a little too big for the Atmega316 on the Solo, so I had to swap in the Atmega328 from my Arduino. It still didn't work, though, and after an hour of debugging and head-scratching, Chris found the problem and patiently explained to me that the RS-232 interface needed to be hooked to the regulated 5 volts on the Solo, not the unregulated 7.5v from the wall-wart power supply. Oops: that's what happens when software guys design hardware without adult supervision! Score one more for Sector67: without Chris' help, I never would have figured that one out...
The next step will be (when time permits) to use Eagle CAD to capture a schematic of the device, and then hopefully to make some PC boards of the whole thing, integrating the Real-Time Clock and RF transmitter modules with the Arduino Solo circuit and my own components. This should reduce the cost to something like a third of the cost of prototyping it with separate store-bought modules.
Photos follow:
| Attachments: |
File comment: The store-bought product that started this whole project

scaled.CIMG3075.JPG [ 95.88 KiB | Viewed 1200 times ]
|
File comment: Breadboard prototype

scaled.CIMG3069.JPG [ 115.39 KiB | Viewed 1200 times ]
|
File comment: Perf-board prototype

scaled.CIMG3070.JPG [ 130.13 KiB | Viewed 1200 times ]
|
File comment: Finished prototype with wiring harness connected

scaled.CIMG3072.JPG [ 94.03 KiB | Viewed 1200 times ]
|
File comment: The LiveCode-based user interface on my laptop

skitched-20110306-092534.jpg [ 58.58 KiB | Viewed 1200 times ]
|
|