
We use a GPIO interrupt for the button and the millis() function for the timer. Top-down view where we can see the internal feeding slot. The pellets in the slot is then basically just pushed off the edge of the base structure before falling down on the floor below. To dispense the food, it falls down in an internal slot which rotates when actuated by the servo. We also use velcro tape to attach the feeder along an edge of a shelf or something similar. The electronics casing is attached to the container with velcro tape. This can be redesigned to transport a different amount of food. A rotating structure which transports the food.A base structure which the servo is attached to.The feeder consists of five different 3D printed parts: It is crucial for the feeder’s survival that it is placed high enough up from the ground such that it’s out of the dog’s reach. View of the USB and DC connectors from the outside. The point here is not to give the dog its meals over one or several days, but to instead periodically give it a few treats over a shorter period of time. We also have a button which we can press to manually feed a single portion. The feeder automatically feeds a random, but small portion of food (~1-5 pellets) at a given interval specified in the code. Using what was left of the project board, I cut out a back panel for the. This made it really easy to just hot glue the assembly to the inside if the pet feeder. My Arduino has a 3D printed case that I made for it. However, pellets got stuck and the motor was too weak to do something about it. After you have tested that everything is working properly, you can secure the Arduino in place.

Initially we wanted to use a small Chinese stepper motor and a worm gear to transport food pellets. The Duemilanove board together with the button and cables. With a microcontroller, a machine like this become a thousand times more versatile and you can do lots of cool stuff which you otherwise can’t. Instead they use simple mechanical timers. Many DIY feeders don’t use microcontrollers.
#Servo motor arduino pet feeder manual#
Interface-wise we have a 5V DC connector for normal operating power, a USB connector for programming and a colorful pushbutton for manual control. Under the hood we find an ancient Arduino Duemilanove (precursor to the Uno). The heart of the feeder functionality is a regular standard-sized RC servo. A small machine like this he can hopefully make him have an easier time being alone by giving him a few treats now and then.

The author of this blog post has a dog with separation anxiety which makes it difficult for him to be left alone in the house. Then, connect the servo motor to +5V, GND and pin 9.įor the Sweep example, connect the servo motor to +5V, GND and pin 9.Ĭontrolling a servo position using a potentiometer (variable resistor).Many pet feeders already exist, but we wanted to make one ourselves. Knob Circuitįor the Knob example, wire the potentiometer so that its two outer pins are connected to power (+5V) and ground, and its middle pin is connected to A0 on the board. The signal pin is typically yellow or orange and should be connected to PWM pin on the board.

If you want to move it back to its original position then do it say a few seconds later. The ground wire is typically black or brown and should be connected to a ground pin on the board. When the time comes to move the servo then move it. The power wire is typically red, and should be connected to the 5V pin on the Arduino board. Servo motors have three wires: power, ground, and signal. You can also visit the Servo GitHub repository to learn more about this library. The second example sweeps the shaft of a RC servo motor back and forth across 180 degrees. components they used in brief such as Servo motor, Auger. The first example controls the position of a RC (hobby) servo motor with your Arduino and a potentiometer. issue was to construct an IoT-based Automatic Pet feeder, it is one. In this article, you will find two easy examples that can be used by any Arduino board. The Servo Library is a great library for controlling servo motors.
