The goal of this project was to create a small device, which detects movement in protected areas (e.g. tables) and allows you to speak usual phrases in your voice to the cat to control its behaviour when you are away. It’s called Cat Protector and prototyped on Arduino Uno by Lucky Resistor, a creative guy who enjoys software development and electrical engineering:
I started with a prototype, using an Arduino Uno and a large breadboard. The first step was to realize an acceptable sound output. To realize this I added a shield with SD card adapter and wrote some optimized code to stream sound from the SD card in 22.1kHz using a 12bit DAC. The amplification to a speaker completed this part of the project where I have two solutions. Next I experimented with different motion sensors to detect the motion of the cat and finished the hardware part using a dual color LED for a simple status display.
Creating a compact device from the prototype was the next challenge, I could place the whole circuit I used on a small prototyping area and squeezed everything in a small casing. From outside, the device looks simple and tidy.
He documented everything in details on his website, especially the software part:
I read so many Arduino related articles and tutorials, but most of them stop when the prototype is running. I hope this documentation helps people to see how to structure Arduino software to make it extensible and keep it readable. This is especially necessary to write more complex logic than just to blink some LEDs. Also I hope to give some inspiration how to develop the prototype to a final device.
Check the full documentation here.