Pet Feeder

Introducere

Nume: Levinschi Eduard
Grupa:334AA
Cu toții ne dorim să petrecem cât mai puțin timp cu sarcinile repetitive din viața de zi cu zi. Având o pisică, m-am gândit să dezvolt un food dispenser cu comandă vocală pentru a simplifica această activitate.

Descriere generală

Proiectul constă într-un dispozitiv care eliberează hrană dintr-un recipient atunci când este activat printr-o comandă vocală dată cu ajutorul Google Home. Voi folosi un ESP32 care trimite un semnal către un driver pentru a acționa o motorul, astfel încât să dozeze mancare. Cantitatea de hrană eliberată este determinată de senzorul de greutate în care clapeta rămâne ridicată.

Hardware Design

Listă de piese:

  • Placă de Dezvoltare ESP32 cu WiFi și Bluetooth 4.2
  • Blue Gearmotor with Metal Gears and Extended Axis (1:90, 110 rpm, 3 - 6 V)
  • L298N Punte H dubla (dual H-bridge) motor DC/stepper
  • 1 kg Load Cell with HX711 Amplifier Module
  • 1000 MF/25 V 105 grd JAMICON RM5
  • PRIZA DC 2.1mm PANOU - PLASTIC
  • INTRERUPATOR 12V IRS101 ILUMINAT ROSU
  • Adaptor 5.7V 800 mA
  • jumper wires

Schema electrica:

Poze cu proiectul:



Software Design

Descrierea codului aplicaţiei (firmware): Mediu de dezvoltare: Arduino IDE 2
Librării:

  1. HX711.h: Pentru interfatarea cu senzorul de greutate HX711.
  2. WiFi.h: Pentru conectivitatea WiFi a ESP32.
  3. Adafruit_MQTT.h și Adafruit_MQTT_Client.h: Pentru conexiunea MQTT cu Adafruit IO.

Algoritmi și structuri implementate

  1. Conexiunea la WiFi: În setup(), ESP32 se conectează la rețeaua WiFi folosind credențialele furnizate.
  2. Configurarea MQTT: Este configurată conexiunea MQTT cu Adafruit IO pentru a primi comenzi de la platformă.
  3. Configurarea senzorului de greutate: Senzorul HX711 este inițializat și calibrat pentru a măsura corect greutatea.
  4. Controlul motorului: Motorul este controlat folosind un driver H-Bridge, iar viteza acestuia este controlată prin PWM (Pulse Width Modulation). Motorul poate funcționa la viteză normală sau redusă pentru ajustări fine.
  5. Algoritm de hrănire: În funcție de comanda primită (normal sau overweight), motorul va funcționa până când se atinge greutatea țintă specificată. Greutatea este măsurată continuu și motorul se ajustează între viteză normală și viteză redusă pentru a atinge cât mai precis greutatea țintă.
  6. Hrănire automată: Odată ce comanda este dată, pet feeder-ul continuă să hrănească animalul o dată la 8 ore până când se primește o nouă comandă.

Surse și funcții implementate
Codul firmware este structurat în jurul a trei funcții principale. Funcția setup() inițializează motorul și senzorul de greutate, realizează conexiunea la WiFi și la serviciul MQTT Adafruit IO. Funcția loop() menține conexiunea MQTT activă, citește comenzile primite și controlează motorul pentru hrănirea animalului în funcție de modul selectat (normal sau overweight). Funcția MQTT_connect() gestionează procesul de conectare și reconectare la Adafruit IO pentru a asigura o comunicare continuă.

Rezultate Obţinute

Rezultatul proiectului este ca am reusit sa creez un pet feeder functional cu comanda vocala (cu ajutorul Google Assistant). Acesta are doua moduri: Un mod pentru animale cu greutate normala dar si unu mod pentru animale supraponderale. Dupa ce o comanda este data, acesta va continua sa hraneasca animalul o data la opt ore pana cand i se da alta comanda. Cantitatea este de 16 grame pentru animale cu greutate ideala iar 13 grame pentru animale cu greutate mare(portiile au fost luate de pe eticheta unui sac de bobite pentru pisici). Pet feeder-ul are o eroare de 2-3 grame. De asemnea am testat cu boabe de porumb si doua tipuri de bobite pentru pisica. Pentru boabele de porumb am folosit dutycycle mic, iar pentru boabe de pisica am folosit duty cycle mare(iar ocazional de blocheaza mancare pe teava).

Concluzii

In concluzie, acest proiect este ușor de folosit deoarece necesită efort minim din partea utilizatorului și va ajuta toate animalele care au nevoie de o dietă strictă din punct de vedere al cantității de mâncare.

Download

Schema electrica si codul sursa. petfeeder.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2024/amocanu/eduard.levinschi.txt · Last modified: 2024/07/03 14:38 by eduard.levinschi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0