Arduino Powered Pet Feeder - Team 10A

by Ridenera in Circuits > Arduino

40 Views, 1 Favorites, 0 Comments

Arduino Powered Pet Feeder - Team 10A

wiringmess.JPG
Feeder.JPG
22b5f94d-bde7-4b65-9098-31afd97a5d38.jpg

This project uses basic Arduino parts and code to create something that can make our daily routines easier while also making our pets healthier. According to the Pet Obesity Prevention Association, 59% of household pets are overfed, and overweight. Much like us, this can lead to health concerns over time, and who wants that for their beloved pets? Fortunately, there are simple solutions, such as our automatic pet feeder. By selecting specific feeding times, one could give their pet a more routine feeding schedule. There are even options to adjust portion sizes for your pet's specific needs.

Supplies

RTC.png
kit pic.png
DispenseMotor.JPG
Display.JPG

For this project, the bulk of the supplies will come from Sparkfun's inventor's kit. This starter kit contains everything from the Arduino board itself, to the wires, and all the various interactive elements we will need. On top of the inventor kit, there is one more standalone item that must be purchased. SparkFun's Real-Time Clock module (RTC), is crucial to this project. The RTC maintains the real time, even without external power, due to its small battery. This allows the unit to be on standby throughout the day, until it is time to dispense.

Here is a specific parts list to get started:

  1. 1x Arduino Uno board
  2. 2x small breadboards
  3. 2x buttons
  4. 1x Hobby Gearmotor (DG01D)
  5. 1x Motor Driver (TB6612FNG)
  6. 1x 16pin LCD
  7. 1x RTC (DS1307)
  8. 30x jumper wires (M/M)
  9. 12x jumper wires (F/F)

To create the housing, use whatever material that will safely house the electronics, and is somewhat sturdy. We decided on cardboard. Lastly, we 3d printed the dispensing mechanism, so you'll need to have one available.

Measure the Food Container

Measure the opening of the plastic food tank or container you plan to use for storing the pet food.


The included design is intended for a container opening approximately 80 mm in diameter. If your container differs significantly, the 3D model may need to be resized before printing.


Record the measurements before moving on to printing the parts.

Print the Components

Print all attached 3D parts using your preferred printer settings.

Recommended settings:

  1. 0.2 mm layer height
  2. 15–25% infill
  3. Black PLA material

After printing, remove any support material and test-fit the printed parts together before assembly. The spinning disc should fit into the printed collar with some headroom, and the opening of the pet feeder should be able to fit in over it.

Assemble the Dispensing Mechanism

Install the DC motor into the mounting holes on the lower collar section of the 3D-printed assembly.


Attach the perforated dispensing disc to the motor shaft. The plastic pin should fit directly into the rectangular cutout on the printed part. Once installed, test the mechanism by manually rotating the motor shaft to ensure the disc spins freely without rubbing against the housing.


If necessary, sand or trim any rough edges on the printed parts.

Attach the Food Tank

Mount the plastic food tank above the dispensing mechanism so food can flow downward into the rotating disc section, and subsequently into the feeding tray.


Make sure the tank is centered and stable. When the disc rotates, food should be able to fall through the perforations evenly. It is designed for pet food, but can also be used as a candy dispenser. We chose mini M&Ms.


Test the food flow before continuing.

Build the Support Base

Using cardboard, construct a raised base that lifts the feeder approximately 4 inches above the table or floor surface. This is the most difficult and tedious part, as you need the tank to be raised enough to allow space for the food to fall down the ramp, as well as cover up all the Arduino parts within the housing.

This lower section will be used to hide:

  1. The Arduino
  2. Wiring
  3. Motor connections
  4. Buttons

Ensure the base is stable enough to support the weight of the food tank when filled.

Button Openings

Cut two holes into the cardboard base for the push buttons. We just allowed part of the bread board to be exposed which isn't ideal, but necessary for the buttons to be usable.


Position the buttons where they can easily be pressed from outside the feeder while keeping the electronics concealed underneath.


Secure the buttons firmly so they do not shift during use.

Wire Arduino Electronics

Connect the Arduino, DC motor, motor driver, and push buttons according to your circuit design.

The program should include:

  1. An automatic timed feeding mode
  2. A manual feed mode activated by pressing both buttons simultaneously

After wiring is complete, upload the Arduino code and test the system before final assembly.

Mount and Conceal the Electronics

Place the Arduino and wiring underneath the cardboard base.


Use tape or zip ties to secure all components and prevent wires from interfering with the motor or moving parts. Glue could be used, but is naturally not as reversible.


Keep all electronics protected from falling food debris.

Add the Food Ramp

Cut and install a cardboard ramp beneath the dispensing mechanism that leads down do the bottom feeding tray.


The ramp should guide food smoothly from the dispenser into the feeding tray below.


Adjust the angle of the ramp as needed to prevent food from getting stuck.

Final Testing

Fill the food tank and test both feeding modes.

Automatic Feeding

Verify that the feeder dispenses food at the timed intervals.

Manual Feeding

Press both buttons simultaneously to confirm the immediate feed function works correctly.

Make final adjustments to:

  1. Motor timing
  2. Portion size
  3. Ramp angle
  4. Structural stability

The robotic pet feeder is now complete and ready for use, awesome!