/Cat_Fedder

Primary LanguageJavaScript

Project Cat_Fedder

The target customer of the project: People who raise cats in their homes.

Description of the project: It is a general system made up of hardware and software, designed to feed cats according to a unique chip assigned to each cat and bowl. We can keep track of the cat's eating times, the frequency of eating and the amount of food the cat eats, thus learning about the cat's behavioral patterns. In addition, the system will be able to weigh the cat and by the weight to know what the cat's health is. Main features:

  • Feeding a specific cat that has bowl privileges.
  • Learning about cat behavior patterns.
  • Weighing the cat and drawing conclusions about its health.
  • "Nice to have" features: Weigh the food and bring the cat the exact amount.

Explain

We will install a sensor on the cat collar, when the cat approaches the bowl, the bowl sensor will detect him and if the sensors are matched the system will open the bowl opening. While the cat is eating it will stand on the weight and it will weigh him. When the bowl open, the system will send the data to the database and update the application. Behind the scenes we will run an algorithm that will learn about the cat's behavior (amount of eating, eating times and weight) and alert the user when something unusual happens.

There are several possible events for the product

  • The cat eating event: As the cat approaches the bowl, the bowl sensor detects the collar sensor and checks if its ID is appropriate and can be approved to eat.

    (1) If the cat is allowed to eat: The bowl opening will open and the cat will be able to eat the food from bowl.

    (2) If the cat is not allowed to eat: The bowl opening will not open and a red light will light up.

  • The cat weighing event: As the cat approaches the bowl, the bowl sensor detects the collar sensor and checks if its ID is appropriate and can be approved for weighing.

    (1) If the cat has received permission: The system will weight the cat and send the data to the database.

    (2) If the cat has not received permission: The system will not weigh the cat and a red light would light.

The food weighing event: When the cat gets permission and the bowl opening is opened, we will weight the food in the bowl. As the cat leaves the area and the opening closed, we will weigh the food in the bowl, and so we can know the amount of food the cat ate.

Hardware

(1) ESP 32

Esp32

(2) RFID

RFID

(4) Diode LED

LED Diode

(5) HX711 AD (weight sensor)

HX711 AD

(6) CD-ROM Component

CDROM OPEN/CLOSE

Code (C++) use Arduino

Change with Value of connect Rfid in Esp32:

#define SS_PIN 21  //--> SDA / SS is connected to pinout D2
#define RST_PIN 22  //--> RST is connected to pinout D1

Enter a ssid and password of Access Point to configure a Wifi Connexion

WiFiManager wm;
const  char* ssid =  "Enter Ssid";
const  char* password =  "Enter Password";

Hx711 connect use:

26 for SCK
25 for DOUT
Ground connects to GND
VCC connects to 5v or 3v

Database

Use Mysql and php to control the esp32 is to give the necessary authorization.

Table:

  • auth
  • cat
  • log
  • users

Web-Site Software

Localisation

$ cd Software 

Setup

Manually clone the repo and then run npm install. To run it you need to run npm start for the client part and for the server part.

Landing Page

landingPage

landingPage1

landingPage3

Register Page

register

SignIn Page

signIn

Home Page

Feture In Home page :

  • Giving permission or not giving permission for a cat to eat .
  • Add new cat.
  • Deleting exsisting cat.
  • Link to "About the cat page"

homePage

AboutCat Page

In this page you can see:

  • Up-to-date cat weight.
  • The last time the cat ate.
  • Cat age.

AboutCat

Login Page

In this page you can see:

Table with all the uses of the cat in the feeding system with details like: weight, time, name of cat etc.

LoginTable

Documentation

Vision Document

Software Design Document

Software Requirements Document

Presentation Project