Name | NetID | Course |
---|---|---|
Haige Chen | haigec2 | ECE110 |
Krystal Wu | zhixinw2 | ECE110 |
Yaning Lan | yaningl2 | ECE110 |
Introduction
Statement of purpose
It is quite inconvenient to always have to have someone take care of your cat whenever you are out for a few days. While automatic cat feeders on amazon can certainly satisfy basic needs of a cat, we doubt if the small machine can truly be responsible for taking care of them when we are away from home. For now, we want to focus on building a cat feeder that features the basic functions of a normal cat feeder like feeding food and water on scheduled times and sensing the weight of food remained to determine the feeding amount. Later on, (if we have time) we will also develop features that allow pet owners to see or “facetime” with their pets on their smartphones. This will enable pet owners to check the conditions of their pets. Specifically, we will be using Arduino to control the feeding process and Raspberry Pi with a small camera module to connect our phone with the cat feeder using Wifi.
Background research
We came up with the idea of a smart pet feeder when we were facing real-life problems. For any cat/dog owners, it’s a headache when the owner has to be away from home for a while and doesn't know how they should take care of their pets.
Actually, we did not know that such feeding machine is already available in the market when we came up with the idea. But after we did some research on the existing products, they turned out to be extremely expensive and have functions missing that we deemed important, such as feeding water, keeping water fresh, overfeeding control, etc. Also, to distinguish our project from the existing products, we decide to add a camera and speaker so that the owner can see and talk to their pets from anywhere.
We did some research on Arduino and Raspberry Pi projects (analogRead, controlling servos, timer, webcam on Raspberry Pi, remote desktop sharing, Weaved service, etc.). And it turned out it’s easier to keep the functions separate, that is the Arduino controls the servos, and the Raspberry Pi controls the camera and speaker.
Block diagram
System overview
The project consists of two independent parts. In the first part, Arduino controls the feeding machine. The internal timer is set so that every several hours, the Arduino will proceed its feeding sequence. In the feeding process, the Arduino controls three servo motors, which respectively control the opening and closing of food-feeding gate, water-feeding gate, and water-draining gate. The Arduino will close the gates if the pressure sensors under the plates give back values higher than the default setting so that the pets will not be overfed. Also, there are push buttons and an LCD screen allowing the user to set the time and amount of feeding accordingly. One button controls the setting mode. When it's pressed, the cursor on the LCD will move to a different number. The other two buttons will be adjusting the numbers.
In the second part, we want to establish an interface for the user to see and talk to their pets when he is away from home. The raspberry pi, its camera, and its audio output can be remotely accessed by user through wifi. The raspberry pi will be connected to the home wifi (or ethernet) and operate continuously. The user can use VNC client software on phones and PCs to remotely access raspberry pi’s desktop in order to control the camera and audio output.
Parts
Arduino
3 breadboards
Jumper wires
3 servo motors
Ultrasonic sensor
Mechanical shop for mechanical parts used (possibly tubes, plates, springs, electrical valve, crankshaft rod)
Raspberry Pi
Camera
Speaker
LCD
Push buttons
Possible challenges
Python programming in Raspberry pi
Live streaming video using Picam and phone app
Live transmitting audio
Remote controlling through wifi
Mechanical assembling
Setting up a setting panel for the user to change the settings for the feeder machine
Coming up the best algorithm for the feeder (so that the cat is not fed too much, nor not enough)
References
Existing products
Ávila, L. (2016). Cat Food Dispensers - Choose the best feeder for your cat. [online] Catfooddispensersreviews.com. Available at: https://www.catfooddispensersreviews.com/ [Accessed 22 Sep. 2016].
Raspberry Pi
Pi My Life Up. (2015). Build a Raspberry Pi Webcam Server in Minutes. [online] Available at: https://pimylifeup.com/raspberry-pi-webcam-server/ [Accessed 22 Sep. 2016].
Instructables.com. (2016). Setup Weaved and the Raspberry Pi. [online] Available at: http://www.instructables.com/id/Setup-Weaved-and-the-Raspberry-Pi/?ALLSTEPS [Accessed 22 Sep. 2016].
Arduino
Arduino.cc. (2016). Arduino - Servo. [online] Available at: https://www.arduino.cc/en/Reference/Servo [Accessed 22 Sep. 2016].
Attachments:
raspberry pi.png (image/png)
hardware.png (image/png)
Finalreport.pdf (application/pdf)
Comments:
This project is approved.
Posted by haigec2 at Sep 23, 2016 16:51
|
I really like your project (because I could use it!). I noticed your sensor choice is a little non-conventional for the applications based on my experience. Typically, food is dispensed by volume (not weight) and water is controlled by a float. Did your research turn up anything different than my experience?
Posted by cdschmit at Oct 08, 2016 07:05
|
Thank you! We just found that force sensors may not be as accurate as we want them to be. We are planning to replace the force sensors with ultrasonic sensors for both the food and the water, which is also recommended by someone on Arduino Forum (for measuring liquid level). The only problem is that we may need to keep it dry, so we are trying to figure out a way to make it practically work.
Posted by zhixinw2 at Oct 14, 2016 17:20
|
Good job noting the problem with keeping the ultrasonic sensor dry. That is where floats come in and can be really effective. You guys might be able to use something like this: http://thumbs2.ebaystatic.com/d/l225/m/mlgAkCuVqDn7oyo1CwBio2A.jpg or maybe http://4.bp.blogspot.com/-EH_S6h3XR2s/U4LIGnnW7nI/AAAAAAAAHAo/K1IeXH_TyY8/s1600/float+switch+assembly+design.png These types of sensors will be even more accurate for water than an ultrasonic sensor too.
Posted by atmarsh3 at Oct 20, 2016 12:46
|
Reminder that everyone should have a short (5 minute) progress report presentation ready for the next meeting! Just share what your team been working on, challenges, opportunities, and your plan for the rest of the semester.
Posted by ajborn2 at Oct 24, 2016 17:13
|
Correction: presentations will be November 11th (Friday teams) and 14th (Monday teams). However, it's never too early to start preparing demos and stuff!
Posted by ajborn2 at Oct 24, 2016 17:41
|