Automated Pet Food Dispenser
This project is an Automated Pet Feeder designed to dispense set portions at set times. This prevents overeating from simple gravity-powered feeders, as well as early-morning wakeup calls from your hungry pet. This system tracks time based on the initial start sequence (when first powered on) and features a self-calibrating photoresistor to determine when the bowl is full.
Supplies
- Pet Feeder
- Cardboard
- Scissors/saw device
- Electrical Tape
- Arduino UNO
- LCD Screen (I2C)
- Jumper Wires
- Servo Motor
- 3x Buttons
- Breadboard
- External power supply pack
- Photoresistor
- 10k Ohm Resistor
Code and Wiring Setup
Shown above is the wiring configuration. For some of these parts (ex. photoresistor), you may have to connect them to the breadboard using jumper cables rather than a direct connection. Additionally, the Arduino code is provided below.
Downloads
Create Buffer Distance
Using cardboard, extend the food container mount upward by roughly 3 inches. This will give you room to mount the breadboard and servo motor later.
Attach LCD Screen to Feeder
Substep 1: Determine a solid, flat surface on the pet feeder to attach the LCD screen. Make sure there will be space behind to wire the LCD screen, or cut an additional hole to make room.
Substep 2: After measuring the LCD screen, cut a hole to its dimensions. Note: cut only to the screen size, not the entire part, to allow for a sturdy attachment.
Substep 3: Using electrical tape, mount the LCD to the feeder.
Attach Photoresistor
Substep 1: Find the center of the feeding tray and measure the size of the photoresistor
Substep 2: Drill a hole in the center to the size that you measured
Substep 3: Fix the photoresistor to the underside of the tray with electric tape, ensuring that the legs do lot touch
Servo Motor
Substep 1: Determine a solid, close place to mount your servo motor. The back is typically ideal so that the wiring is out of the way
Substep 2: Measure the distance to the center of the food container. Using the piece of plastic you cut to mount the LCD screen, create an arm that reaches the hole in the center of the food container (NOTE: this hole might need to be adapted to suit the type of food you will use)
Substep 3: Fix the servo to the base, allowing the inputs room to be connected to the breadboard.
Mount Breadboard
Mount the breadboard directly above the LCD screen on the cardboard. We cut an additional hole for the LCD screen cables, but that step is not required.
Wiring
Refer to the previously provided wiring diagram and properly connect the LCD screen, servo, buttons, and photoresistor to the breadboard and Arduino.
OPTIONAL: Use electric tape to clean up wiring. This will prevent the wires from obstructing the LCD screen.
Completed!
Follow the on-screen directions to set up your feeder and enjoy! If you notice a lag or lack of power in the servo motor, connect your battery pack to give it an extra boost.