loading
Picture of Arduino controlled window for cat
I am submitting this instructable to the Arduino challenge. Please remember to vote!

My neighbor had a little problem with his cat. It want's to go out and back inside too frequently. Usually he opens just his kitchen window and let's the cat in/out. Usually the cat stays only short periods outside and want's soon to come back inside. And then again out and back in. Okay, he could just let the window open, but here in Finland it can be easily -30 C (-22 F) in winter, so this is not a good solution.

We decided to build a microcontroller to the window to open and close the window automatically. Arduino controls a strong servo motor, which moves the window. It has three proximity sensors to sense where the is cat is.

 
Remove these adsRemove these ads by Signing Up

Step 1: Parts list

Picture of Parts list
third hand.jpg
Main parts:
1 pc suitable power adaptor to juice the Arduino (input voltage 7-12V dc)
1 pc Arduino microcontroller (or equivalent *duino)
1 pc strong servo motor to move the window. I used Towerpro MG995 Metal Servo with Gears (10kg Torque).
3 pc Pololu 1134 carrier board with Sharp GP2Y0D810Z0F Digital distance sensor 10 cm 
1 pc "Third hand" to hold the sensors
1 pc cat (operator)

Misc. parts:
some wire
suitable casing
small window hinge
some metal parts to fix the servo to the window frame, screws, etc


Tools etc:
Solder & soldering iron
Computer & usb cable to program the Arduino

Step 2: Mechanics

Picture of Mechanics
IMAG0338.jpg
IMAG0337.jpg
IMAG0335.jpg
We made a holder for servo and attached it to frame. Then we fixed a small window hinge to the window itself. 
We made adjustable arm from copper rod. Don't fix the servo arm with screw until you have first driven the servo to zero (closed) position with the control program. The good thing in this is that the mechanics are easily adjustable.

We chose Towerpro servo with metal gears to get long life for the installation. It does move the window easily enough but it can not slice the cat (nor anything else). The closing speed is set to very slow.

There are dfx files of the servo bracket and actuator arm included.

Step 3: Sensor placement

Picture of Sensor placement
IMAG0330.jpg
IMAG0339.jpg
We placed three sensors, two between the windows (works well through the glass) and one at the opening window, so the window doesn't close if the cat just looks outside. The good thing that in these Pololu boards are tiny SMD-leds. You see directly when the sensor is detecting an object.

Step 4: Control center

Picture of Control center
The box with Arduino is located conveniently below the windowsill. There is no power switch. You just connect or disconnect the power connector.

Step 5: The program

Picture of The program
Here is the program. It is written on 1.0 Arduino software, so you need at least it (or newer). 

The program is pretty well documented. We added delays for detection, because the window opened itself occasionally. 

The program defaults that the window is closed at the beginning. If not, it closes it first. Please check that the servo movements are okay before fixing the servo arm!

Step 6: Connections

Arduino board powers up all the sensors and the servo motor with +5v and GND.

Sensors are connected to following Arduino pins:

 Pin 2 - Inside looking sensor
 Pin 4 - Sensor located in the window opening
 Pin 6 - Sensor looking outside

 Pin 10 - Servo motors control wire
 Pin 13 - Led that is on when the window is on move.

We have thought also to include temperature sensors both inside and outside. This would be a convenient way to get intelligent ventilation in summer... ...possibilities are limitless!

Step 7: Happy user

Picture of Happy user
IMAG0332.jpg
IMAG0333.jpg
IMAG0334.jpg
The cat has to get used to the automatic window. It is a process of learning also for the cat. It went twice BEHIND the window when the window started to open. It was very confused when the window swiped it off the sill and into the snow!
nodoubtman6 months ago

congrats! how did you do the servo arm?

thank you!
marC:)

saastamo (author)  nodoubtman6 months ago

Servo arm was made from brass rod. The window side was drilled and thread made with threading tool. The other end was sawn and attached to servo plastic arm with a pin. This configuration has been working now for 3 years. Only one mains transformed was lost in a thunderstorm, no other problems. The window has run many thousands of opening and closing cycles.

joecabezas2 years ago
nice!

can you post a video working?
One little thing, how does the sensor distinguish between the housecat and other small animals?
What happens when a varmit shows up at the window? I guess they don't have raccoons or possums in Finland, but what about neighbor cats & magpies?
saastamo (author)  CatTrampoline3 years ago
Yes, there is no way how a simple IR detector could distiguish varmit and a cat. However, the alternative of having the window open all the time this is definitely better. A wild animal has also even steeper learning curve to use automatic window. The windows sudden movement is sure to scare wild animal away at least for some time.

If needed, it could be arranged that the cat cas a RFID tag and then the window opens only when right RFID is around. In our case this was not an issue. Good point, though.
Whisker recognition software.......
Outstanding! I will not let our cats see this, lest they increase their demands. Supervisor Cat Her Majesty Holly is also a black tuxedo kitty.
Very nice project :)

A video would be great !
10er5123 years ago
Sorry for a dumb question, but do you really always need the arduino board to be able to construct prototypes? or can the software be used to program a custom circuit?

I'm new with this arduino thing.
saastamo (author)  10er5123 years ago
Exellent question: of course you can make custom circuit. The easiest way to program the microprocessor though is to program it in developement board "Arduino". You can even take the controller away after the programming to your circuit and buy a new microcontroller into your developement board. Look the link below for ideas.

http://www.instructables.com/id/DIY-Arduino-or-The-DIY-Duino/
WWC3 years ago
Very clean installation. Great project.
LOL I misread that & read it as "arduino controlled cat" LOL.
saastamo (author)  sofiadragon19793 years ago
Lol! Not yet so advancved! It would be totally new approach to the problem!
LOL I could never do that to my cat master.
rimar20003 years ago
Your cat is like my Heidi!

Awesome project!
saastamo (author)  rimar20003 years ago
Greetings to Heidi! Thanks!
PeckLauros3 years ago
Nice instructables!