Inspiration

As a dog owner and a student with busy schedule, I feel challenging to feed my dog on time. So, I want to build a smart dog food dispenser that can feed my dog at specific times every day. When changing dog’s diet, switching to new dog food abruptly will likely upset dog’s stomach, which may cause diarrhea and vomiting. To prevent such problem, this dog food dispenser has the feature to mix and dispense two different dog foods. It can provide dog a good diet transition by gradually increasing the portion of the new dog food dispensed.

What it does

It is important for dogs to eat on a consistent schedule. This project is to build a smart dog food dispenser using Arduino platform to help dog owners feed their dog with ease. The smart dog food dispenser can automatically dispense desired amount of food at desired time every day. One feature of the dispenser is that it can mix and dispense two different dog foods, and the ratio of each dog food dispensed at a time is controllable.

How we built it

The whole system is build using Arduino platform. The board I used to build this system is the Arduino mega 2560 rev3 board. This board has 54 digital input/output pins(of which 15 can be used as PWM outputs) and 16 analog inputs, which allow me to connect all of the actuators and sensors together using one board. Two metal gear servo motors, powered by 4 1.5V AA external batteries, are used to control the dispensation of dog food independently. Instead of using a real time clock, I used the timer built in the Arduino board to keep track of the current time. When the current time is the same as the dispensation time set, the motor will be activated to dispense dog food. An library for LCD is wrote to display the current time and all the menu of settings. There is also a keypad installed to take input from the user and change the setting of the dispenser based on the input. A loading cell connected with HX711, a 24bit ADC amplifier that can amplify the signal of loading cell and convert the analog signal to digital signal. Based on the datasheet, a library is written to allow the Arduino board to receive the digital signal from HX711. The signal received can be interpreted as weight, which can be used to measure the weight of the dog food dispense. When the weight measured reaches the value set by the user, the motor will close the gate to stop dispensing food.

Challenges we ran into

Writing the library for HX711, loading cell calibration, mechanical structure design

Accomplishments that we're proud of

Finished the project on time

What we learned

Writing library based on datasheet

What's next for Smart Dog Food Dispenser

The next step for this project would be improving the accuracy of the amount of food dispensed. This would involve mechanical structure redesigning, program optimization, implement PID controller etc.

Built With

Share this project:

Updates

Submission history