AREAS OF SCIENCE
Electricity & Electronics Computer Science
METHOD
Engineering Design Process
TIME REQUIRED
Short (2-5 days)
Build and customize an automatic treat dispenser for a dog or other pet.
Does your dog get bored during the day while you are at school? Do you ever have to feed your dog dinner late because you had an afterschool sports practice or club and got home late? Do you wish there was a way to automatically feed your dog (or other pet) when you were not home? If you search online you can find a variety of automatic treat dispensers. Some of them work on basic timers and others connect to a smartphone so you can control them remotely. Some even react to a button press or an electronic sensor that can detect when a pet is nearby.
In this project you will build an automatic treat dispenser like the one in Figure 1. The dispenser has a mechanical hopper, or rotating set of compartments made from popsicle sticks. A servo motor rotates the hopper so that one compartment at at time moves over a hole, allowing treats to slide down a ramp. The servo motor's motion is controlled by an Arduino. You can use a real-time clock (RTC) with an Arduino to keep track of the time and dispense treats at certain times of day. You can also use sensors like a passive infrared (PIR) sensor, which detects motion using body heat, or an ultrasonic distance sensor, which measures distance using ultrasonic sound waves. You can find tutorials for real-time clocks and many different types of sensors on our How to Use an Arduino page. Exactly how you customize your treat dispenser is up to you!
Figure 1. Automatic dog treat dispenser.
Figure 2. Top view of the mechanism.
Figure 3. Bottom view showing the servo glued to the underside of the cardboard.
Figure 4. Top view with the servo horn removed.
Figure 6. Breadboard diagram.Note that the Tinkercad circuit does not contain code so nothing will happen if you run the simulation.
if
statement that detects the time.angleIncrement
variable if you have a different number of compartments.flashLED
alarm function to alert your pet that a treat has been dispensed using a buzzer and/or LED.