Skip to main content
Version: ACS CC

Cat Feeder

An automatic cat food dispenser with humidity sensors and smart display.

info

Author: Clinci Rareș-Mihail
GitHub Project Link: Link Github

Description

The project is an automatic cat feeder, capable of dispensing food portions according to a preset schedule. The user can set the feeding interval and the amount of food the pet should receive. Sensors will detect whether the cat has eaten, the amount of food available (and alert when it's empty), and the weight of the tray (to account for the food already present before dispensing more). Red LEDs will indicate when the food compartment is empty or if the humidity level is too high. An electronically controlled mechanism will handle food distribution. The system will also include a display showing information such as when the cat last ate, how much food it receives, and at what intervals.

Motivation

Being a cat owner and having spoken with friends who own such devices, it was easy for me to identify the most important functionalities for a user, which helped me design and pitch the project.

Architecture

Components

ComponentsPurpose
Dispensing mechanismDispenses the food into the cat bowl
Weighing scaleMeasures the amount of food in the bowl
Info displayDisplays info from the sensors
User inputLets user change the food quantity and dispensing intervals
Food level sensorMeasures whether the container has any food
Humidity measurerMeasures the humidity of the container
ClockMeasures time

Interconnection

  • The Food Level Sensor and Clock determine when the dispensing mechanism gets fired
  • The User Input and Weighing Scale determine for how long the Dispensing Mechanism stays fired
  • Info Display receives info about:
    • the amount of food the cat has eaten from the Weighing Scale
    • whether the food container is empty from the Food Level Sensor
    • the humidity level in the food container from the Humidity Measurer
    • the variables set by the user from User Input

Diagram

Log

Week 5 - 11 May

Week 12 - 18 May

Week 19 - 25 May

Hardware

Hardware used:

  • Raspberry Pi Pico 2W
  • Micro Servomotor
  • Real Time Clock PCF8563
  • LCD Screen SPI 128x160 ST7735S
  • Load Cell 2kg
  • HX711 ADC
  • Photoelectric Sensor TCRT5000
  • Humidity Sensor HR202
  • 2 Red LEDs
  • 4 buttons
  • breadboard and wires

Schematics

Bill of Materials

DeviceUsageQuantityPrice
Raspberry Pi Pico 2WThe microcontroller139.66 RON
Micro ServomotorDispensing food113.99 RON
Real Time ClockMeasuring time intervals15.77 RON
LCD ScreenDisplaying info143.58 RON
Load CellMeasuring the food's weight123.99 RON
HX711 ModuleSending load cell info to the board113.39 RON
Photoelectric SensorDetecting if the food container is empty11.49 RON
Humidity SensorDetecting the humidity in the food container19.99 RON
Red LEDsDisplaying info20.39 RON
ButtonsSetting dispensing period and food quantity41.99 RON
BreadboardConnecting components29.89 RON
WiresConnecting components17.99 RON
Rigid WiresConnecting components112.49 RON
Male HeaderConnecting microcontroller20.99 RON
Female HeaderConnecting microcontroller22.56 RON

Software

LibraryDescriptionUsage
embassyAsync embedded frameworkCore runtime for async tasks and peripherals
embassy-rpHAL for Raspberry Pi Pico (RP2040)Controls GPIOs, SPI, I2S, etc.
embedded-graphics2D graphics libraryUsed for drawing text and shapes on LCD
display-interface-spiSPI display abstractionConnects the embedded-graphics to SPI-based displays
embedded-halTraits for embedded devicesBase for SPI, I2C, ADC, GPIO, etc.
defmtLogging crate for embeddedFor debugging and structured logs
pcf8563RTC libraryInteracting with the real time clock
hx711Load Cell LibraryReading the data from the load cell