Automatic Pet Feeder

University of Central Florida - Summer 2022

Senior Design II - Group 12

Project Summary

Our goal throughout this senior design report and project is to design, program and build a functionally stable automatic pet feeder where the user, in this case the pet parent, is able to control every setting, schedule, and be in the loop on their pet’s feeding habits from their phone through a mobile application that interfaces wirelessly with the automatic pet feeder. Providing a user-friendly interface, the user is guided through the initial steps on how to set up the feeder and how to control the basic settings of it. This will allow anyone to feed their pets no matter where they are. Since this automatic pet feeder must behave in an easy to use manner and provide a lot of value to the pet parents, there are several requirements that were put in place to make sure the device is fully functional and behaves as automatic as possible. In the same manner, the device must be able to accurately measure the weight of both the water and food bowl and keep track of their state. Once the water or food level is under a minimum threshold, the device must automatically check for the last pour cycle, confirm with the schedule set in the application and if the conditions and rules set by the user are met, it should pour the predefined amount of food for the pet as well as refill the water bowl to ensure that the pet has enough to eat at their pet parent’s desired meal times. At the same time, the device must be able to maintain a two way communication with the mobile application in order to send the user notifications when some tasks require assistance, such as refilling the main water and food containers or cleaning the pet bowls.

Initial Design & Block Diagram

Food Housing

We decided to choose a pre-existing housing for the food dispensing and gutted the parts inside because it allowed us to focus on the electrical/computer engineering concepts.

Water Housing

We chose an existing plastic containment that can hold a large quantity of water and drilled a hole in the upper center area to put the hose of the Peristaltic Pump to extract water and dispense into the bowl.

Block Diagram

The block diagram gives us a comprehensive understanding and overall perspective of how the device's components interact to deliver a workable solution to the issues raised during this project. The diagram clearly distinguishes between the hardware parts of the gadget and the software program that lets pet parents use it. We can see from the design that the application's core features allow for simple functions that either allow for the explicit input for the amount of food that should be dispensed based on the user's preferences for that meal cycle or the automatic calculation of the amount of food to be dispensed based on the pet's weight and breed previously registered by the user.

Overall Project Progression

We did several testing of different components for the Automatic Pet Feeder and came up with the following outcomes. The pressure sensor we used originally was the round force pressure sensor to dictate the Arduino if the water bowl is empty, halfway, or full or tampered with. Due to inconsistent dispensing and flow of water, we decided to proceed with a Square force pressure sensor because it covers more ground and is more accurate than previous components. Then we tested the accuracy of the scheduling of the Raspberry Pi to the application via Serial Communication (UART). By testing the quantity set by the user, we conclude that the Automatic Pet Feeder is at a 92% accuracy compared to what it was set to dispense. Also, the connectivity of the Raspberry Pi and its camera gave a live view of the pet and helps the user see if the pet is actually eating/drinking at the set time. Finally, we tested the Ultrasonic Sensor on the top of both containments to tell the application the percentage of Food/Water and it also alerts the user if the container is at 100%, halfway, low, and empty.

Food Dispensing

The food dispensing works through a schedule programed through the Raspberry Pi and customize the quantity/timing via the application. The application can serve 1/4, 1/2, or 1 cup of food and through testing, the accuracy per serving is matched to what the user selects.

fake image

Water dispensing is preprogramed through the Arduino at a fixed value in which it will dispense water continuosly until it hits a certain value and the program will wait until the bowl sends a signal through the pressure sensor and refill.

Videos

Middle Term Demo

Middle Term CDR Presentation

Final Demo

Final CDR Presentation

About Our Group

Jose

Jose Tapizquent

Jose is currently a Senior at the University of Central Florida, pursuing a Bachelor of Science degree in Computer Engineering. He has been very interested in software and computers and decided to start learning web development through different online courses and started learning how to code and how to work around designing software. By learning to code through online courses and school, he was able to obtain a position as a Software Engineer at UKG, a Saas company based out of Weston, FL.

Devin

Devin Besaw

Devin is currently a Senior at the University of Central Florida, pursuing a B.S. in Computer Engineering. Currently, he interns as a Client Engineer for the startup company SightPlan. In high school his favorite subjects were math and web design which led him to choose this degree and the position on the SightPlan team as a Client Engineering Intern (Front-end web development).

Gershon

Gershon Prospere

Gerhon's passion for electrical engineering started when he was kid, discovering all of the circuitry inside phones and TVs and since then, he kept learning how these devices work and how they keep improving as time goes on. In high school, he knew electrical engineering was exactly what he wanted to do, by mixing his early passion of electronics with math and physics which were his best subjects, electrical was definitely the way for him. After graduating, Gershon will be leaving Florida and working at a position he accepted at Texas Instruments.

Fernando

Fernando Oviedo

Fernando is currently a senior at the University of Central Florida, pursuing a B.S. in Computer Engineering. In high school, Fernando developed an interest in computers in terms of fixing them and making them better by swapping parts and changing Operating Systems. He originally was interested in Information Technology but then wanted to know exactly how a computer works and what makes it function, when does it fail and why is it happening. That pushed him to pursue a career in Computer Engineering and focus on Artificial Intelligence. After graduation, Fernando plans on getting a job as a Systems Engineer and then pursuing his masters degree in a new program that UCF is considering opening in Robotics and Autonomous Systems.