Introduction: Cat Laser Entertainer Robot
Sometimes you are just too tired to play with your pets and give them the attention they need.
When this kind of situation happens, you are mostly busy and tired.
Good night sleep would do the trick BUT your pet decides that sleep is for weak and keep you awake the whole night just because they are too pumped up to rest because of no play in day time.
This project resolves all your problems.
Arduino board with simple shield. Two servos and a laser. Keeps your pet entertained the whole day if it has to.
The laser used is a typical red dot laser that you can find in pointers. It is low power >5mW so it wont blind you or your cat. But like always when playing with bright light or laser. Do not point it to your eye or your pets eye on purpose.
Mobile users can find the video from here!
Step 1: 3D Desing.
Step 2: 3D Printing.
Parts are printed with PrintrBot makers kit. Settings for prints that i used was, 20mm/s movement speed and 0.2 mm layer height.
Print took about 1 hour and 12 minutes. Total print cost was 0.14 dollars.
Step 3: Assembly and Testing.
Servos used are normal Mini 9G servos. The parts snap to their place nicely. I used some hot glue to ensure that the servos keep their place. Tiny screws can also be used.
I had to change the upper servo (vertical) because the gears were broken. The black servo is the same kind of servo.
Upload a servo test program to the Arduino and test the movement.
Step 4: Shield.
I made a simple shield from breadboard. Add some pins and solder them. I only needed pins for the power section of Arduino and 8-13 pins.
Step 5: Connectors
I soldered two of 3 pin and one a two pin connectors to the center of the board.
The three pin connector is for servo and the 2 pin connector is for the laser.
Solder a common power (RED) and common GND ( BLUE) to the pins.
Laser does not need anything else.
For the servos you will need data cables. Solder (GREEN) vertical servo to pin 9 and horizontal servo to pin 10.
The other ends go to the last pins of the connector. Simple and effective.
Step 6: Base Board.
I had some acrylic board laying around from one school project so i decided to use it since it is pretty heavy and has got a rubber feet to keep it in place.
Mark the Arduino mount places to the base board and drill holes to it. To keep the Arduino in place use some bolts and nuts to bolt it down.
Step 7: Coding.
Now that the build is almost done. Time to code the Arduino.
The code calls for a random variable. That way the servo movement is totally random. Also the time that the servo is moving or in place in this is totally random (Between 1 and 2000 milliseconds).
The servos random movement is however coded so that the servo does draw mostly to a wall and not a ceiling or floor. Cats are not interested in red dot on the ceiling where she can't reach.
#include
Servo one; //Vertical servo Servo two; // Horisontal servo
int pos = 0; //store servo possition.
int time = 0; //time variable, Store last time.
void setup() { one.attach(9); //attach servos two.attach(10); }
void loop() { time = random (1,2000); //time is random between 1 and 2000 ms int oneStart = random(120,160); //random degree for vertical servo delay(time); int twoStart = random(140,180); //random degree for horisontal servo delay(time); one.write(oneStart); two.write(twoStart); }
Step 8: Wrapping
Wrap the wires to give the build much more nicer look.
The Arduino runs on 9 volt battery or on USB.
Step 9: Works Like a Charm.
Cat ran across my apartment for about 20 minutes till she was too tired to jump around.
Mission success.
Cat is exhausted and i had some own relaxing time.
Thanks for reading!
Happy buildings!