How to keep hungry tigers busy in the early morning
Preface: feeding your pets is an important bonding ritual. You should avoid employing machines as a full substitute for feeding. But my tigers and I have reached a stalemate RE: Breakfast time
Tigers sleep all day long. #
Of course they have no problem waking us up whenever they desire breakfast.
Automated feeders are expensive and lack flexibility. #
I got sticker shock when looking in to options for buying automated feeders.
This is a post about how to build a hackable cat feeder for $20. #
The basic goal is to spread small bits of cat food randomly across the kitchen floor during early time windows of the morning. This of course dominates tigers’ attention thus letting you sleep in.
The design #
The most basic form is an upside-down bottle with a servo which controls the opening at the bottom. We control the speed and frequency of the openings with code.
I hang the bottle up high on the wall to discourage tampering. Dropping/scattering the food may be messy but it engages the tigers to forage which is more natural/entertaining for them than eating out of a dish.
The parts #
- Tower 5v Servo, 2 for $7
- Arduino Uno Clone $9
- 24 hour timer outlet $4
- Some size 4-6 machine screws and bolts
- Duct tape
- 2L Soda bottle (or a cat food jar and a funnel fused together)
- Some means of hanging the whole thing high on the wall
- Some flat hard plastic/tin for the moving cap
- Velcro (for fixing the controller to the hopper)
Demo #
Just for the record that is peanuts. Not tiger food.
The electric bits #
Connect the servo to the board
The code:
#include <Servo.h>
Servo theServo;
int pos = 0;
//attach servo to pin 9
void setup() {
theServo.attach(9);
}
void loop() {
// Sweep to the left
for (pos = 0; pos <= 90; pos += 1) {
theServo.write(pos);
delay(1);
}
// Guess a number every second. Dont continue until it matches 0
while(random(180) != 0){
delay(1000);
}
// Sweep to the right
for (pos = 90; pos >= 0; pos -= 1) {
theServo.write(pos);
delay(1);
}
// Delay for a few ms to let food out
delay(85);
}
The mechanical bits #
- Before building, make sure your funnel is wide enough to easily let dry food fall through without jamming. If food jams in the funnel you will be woken up. Trust me I know.
- Drill two holes in the servo arm extension for the machine screws and bolt the arm to the flat plastic tin.
- Tape the servo to the bottle/funnel. It will take time to adjust the cap so it fits and rotates properly with the right timing.
Finishing touches #
The arduino has no sense of time. We only want this to run at certain time windows of the day. This unit will control the time window where tigers are restless and we are still sleeping.