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
- arduino
- atmel
Log in or sign up for Devpost to join the conversation.