matthew smith, christopher ranc, shabab siddiq leader unit: raspberry pi...

1
Cats and other pets are often picky eaters. When owning multiple animals, it’s often especially difficult to ensure that each is able to get its required nutrition without another animal taking its food. ACF Serves as a local IOT devices with multi-feeder expandability that can all be programmed with your own smartphone. The objective of this project was to design a versatile, expandable feeding system that is inexpensive to produce, allowing owners to have as many feeders as needed to accomodate however many pets they may have. In order to facilitate rapid development and compatibility of peripherals, the ARM based Raspberry Pi was chosen as the center of this project. The ability to run a full 32-bit Debian Linux operating system allowed for a full backend written in Python using generic libraries and programming practices. Leader Unit: Raspberry Pi Zero W Dual action managed WiFi and access point configuration full use of GPIO and SPI Flask HTTP server MongoDB for storing pet info, configuration settings, and feed histories Multi-threaded application server for monitoring peripherals and acting on events. Follower unit: ESP-12-e Securely operates on Leader’s access point for easy configuration. Micropython server operating similar to Flask for handling communication between Leader and Follower. Application server for handling peripherals Generic components: Common Python drivers for both Pi and ESP use. RC522 RFID reader EasyDriver H-Bridge motor driver Nema 17 64oz.in stepper TAL220 Load sensor with HX711 driver/amplifier Android: User application for adding and managing pets Communicates to Leader unit via Managed WiFi( i.e., home network) Transfers data via JSON over HTTP requests Physical design 3D printed auger and gears from thingverse Laser cut chassis PVC T coupling to hold and feed auger Screenshots from the android app that allows configuration of pet information, feeding times, and assigning the pet an RFID tag Main feeder controller test configuration. Combination of Raspberry pi, Easydriver stepper controller, and an RC522 RFID reader. Feeder Chassis configured with RFID reader in front of bowl to check which animal is trying to feed Supplementary feeder controller test configuration. Combination of ESP 12-E development board, Easydriver stepper motor controller, HX711 ADC for load sensors, and an RC522 RFID reader. Objective Subsystem Diagram Leader Controller Android Smartphone App Feeder Chassis A.C.F.: Automatic Cat Feeder Matthew Smith, Christopher Ranc, Shabab Siddiq RIT ARM Student Design Contest—Spring 2018 Follower Controller Technical Details

Upload: others

Post on 08-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matthew Smith, Christopher Ranc, Shabab Siddiq Leader Unit: Raspberry Pi …edge.rit.edu/edge/C18006/public/Project_Documents/ACF... · In order to facilitate rapid development and

Cats and other pets are often picky eaters. When owning multiple animals, it’s often especially difficult to ensure that each is able to get its required nutrition without another animal taking its food. ACF Serves as a local IOT devices with multi-feeder expandability that can all be programmed with your own smartphone.

The objective of this project was to design a versatile, expandable feeding system that is inexpensive to produce, allowing owners to have as many feeders as needed to accomodate however many pets they may have.

In order to facilitate rapid development and compatibility of peripherals, the ARM based Raspberry Pi was chosen as the center of this project. The ability to run a full 32-bit Debian Linux operating system allowed for a full backend written in Python using generic libraries and programming practices.

Leader Unit:● Raspberry Pi Zero W● Dual action managed WiFi and access point configuration● full use of GPIO and SPI● Flask HTTP server● MongoDB for storing pet info, configuration settings, and

feed histories ● Multi-threaded application server for monitoring

peripherals and acting on events.

Follower unit:● ESP-12-e● Securely operates on Leader’s access point for easy

configuration.● Micropython server operating similar to Flask for handling

communication between Leader and Follower.● Application server for handling peripherals

Generic components:● Common Python drivers for both Pi and ESP use.● RC522 RFID reader● EasyDriver H-Bridge motor driver

○ Nema 17 64oz.in stepper● TAL220 Load sensor with HX711 driver/amplifier

Android:● User application for adding and managing pets● Communicates to Leader unit via Managed WiFi( i.e., home

network)● Transfers data via JSON over HTTP requests

Physical design● 3D printed auger and gears from thingverse● Laser cut chassis ● PVC T coupling to hold and feed auger

Screenshots from the android app that allows configuration of pet information, feeding times, and

assigning the pet an RFID tag

Main feeder controller test configuration. Combination of

Raspberry pi, Easydriver stepper controller, and an RC522 RFID reader.

Feeder Chassis configured with RFID reader in front of bowl to check which animal is trying to

feed

Supplementary feeder controller test configuration. Combination of ESP

12-E development board, Easydriver stepper motor controller, HX711 ADC for load sensors, and an RC522 RFID

reader.

Objective

Subsystem Diagram

Leader Controller

Android Smartphone App

Feeder Chassis

A.C.F.: Automatic Cat FeederMatthew Smith, Christopher Ranc, Shabab Siddiq

RIT ARM Student Design Contest—Spring 2018

Follower Controller

Technical Details