You can also compare it to musical box where a cylinder with tiny pins plays a melody on a metal comb. Automator learns by example: Each relay can be controlled with a key. When you press the keys to control the relays, Automator records your actions for later playback.
This type of device may be useful for many applications. The prototype has been built for a mechanical sculpture. See the right column of this page for more examples. It uses Objective Development’s firmware-only USB driver for Atmel’s AVR microcontrollers to download and upload program files.
Contrary to most of our other projects, this one focusses on Windows (other operating systems are still supported, of course). Since we wanted to provide a single executable which does not require installation, we have implemented this device as a HID. See our HIDKeys project for details about HIDs. We used native Windows API calls to communicate with the device.
Automator uses only free development software and libraries. No software from Microsoft, not even the Driver Development Kit (DDK) is required. It can be compiled with MinGW and uses the lightweight GUI toolkit FLTK.
Automator has been used to control an interactive fountain artwork. Magnetic valves control the water flow to a bathtub and a basin, both made of concrete, and a shower. The sequence of valve activations is triggered by two IR motion detectors.