/PetCare

Smart PetCare System; Repository for UofG ENG 5220 Realtime Embedded Programing

Primary LanguageC++MIT LicenseMIT

PetCare

4-Contributor License Stars Fork

Contents

Introduction

This project is the course design of UofG ENG 5220 Realtime Embedded Programing. In this course, we are the team 7.

When pets-owners leave home for a long time, feeding pets with food and water is a big problem. So we make an automatic pet feeder to help people feed their pets when they are busy. The design used raspberry PI to make an automatic feeder, real-time monitoring of pet movement and food. Upload the feeding records to aliyun cloud server. This project can realize intelligent food and water feeding, protecting the health of pets.

Demo

Food system

Water system

system testing

Full version video and Follow us on:

Equipment

  • Raspberry Pi 3B+
  • Ultrasonic sensor (HC-SR04)
  • Weight sensor (HX711)
  • Step motor (28BYJ-48)
  • Water sensor
  • Water pump

Circuit Diagram

circuit diagram

Features

This project uses raspberry PI to make an automatic pet-care system, which has a feeder with real-time monitoring of pet movement and food weight, a water feeder, and transfer the data of feeding activities to aliyun cloud server.

In this system, the ultrasonic sensor detects the distance to the pet, and the feeder starts working when the pet is close. The weight sensor detects the weight of the food in the bowl. When the food weight is less than threshold, the motor starts to rotate the baffle 90 degrees to replenish the food. When the food weight is greater than threshold, the motor rotates backward. User can change the weight threshold through app.

The water sensor detects the level of water in the container. When the water level is less than the setting height, start the water pump to draw water from the water storage tank and add it to the water feeding container. The water pump runs for 1 second.

Following link to the UML documentation:

uml

Get Started

The default branch of this repository is main, which contains the latest stable version of the project.

This is an example of how to list things you need to use the software and how to install them.

Click to expand!
  • Git

    sudo apt-get update && upgrade
    sudo apt-get install git-core
    
  • Cmake

    sudo apt-get install cmake 
  • pigpio

    git clone https://github.com/joan2937/pigpio
    cd pigpio
    
    sudo apt update
    sudo apt full-upgrade
    
    make
    sudo make install
    
    sudo pigpiod
    
  • Clone the project

    git clone https://github.com/koinzh/PetCare.git
  • Navigate to the project folder

    cd PetCare/codes
    mkdir build
    
    cd build
    
  • Link the required files and libraries using CMake

    cmake ..
  • Build the CMake project

    make
  • Run application

    sudo ./PetCare

License

MIT license

Version control

check the repository to see the avilabe version

Acknowledgement

Contact us

Developer Log

Click to expand!
  • Date: 2024-03-05

    Creat petCare repository. Updated readme file and license in main branch. Creat develop branch.

  • Date: 2024-03-06

    Upload code of weight sensor in develop branch.

  • Date: 2024-03-07

    Updated cmake file. Upload code of ultrasonic sensor and motor.

  • Date: 2024-03-12

    Change wring to pigpio of motor and ultrasonic sensor.

  • Date: 2024-03-17

    Updated code of weight sensor.

  • Date: 2024-03-19

    Set aliyun cloud server.

  • Date: 2024-04-09

    Updated code of sensor test (thread, callback, io).

  • Date: 2024-04-10

    Updated readme file (introduction, equipment, object).

  • Date: 2024-04-12

    Merge branch newlib to branch develop.

  • Date: 2024-04-13

    Debug test code for weight sensor.

  • Date: 2024-04-15

    Built the device. Finished successfully.