A while ago I had the idea of porting xeyes to real life. After I had them readily standing around for some time now, I decided to finally install them behind a window in the 1st floor so they can watch passers-by on the street.
The eyes are made from large pizza boxes cardboard and rolled by RC-servos that are controlled by an ATTiny2313 that’s connected to the PC using the low-speed software usb stack. The camera is connected using USB as well. Since I disassembled my webcam and hooked it up to an FPGA for some experiments, I used an analog one and a USB video digitizer.
The video processing is done using mplayer. It’s cropped first to get only the street and no neighbour estates. Then a tiny & quick&dirty video filter plugin looks for the column with the strongest Y-component difference between the last & current frame and if the difference exceeds a certain threshold, that column is passed to the microcontroller using libusb.