Pet Feeder

Barbu Mihaela-Daniela 333CC

Introducere

Proiectul urmareste ca stapanii animalelor de companie sa poate avea mereu grija de acestea cu ajutorul unei hranitori automate. Ideea a plecat de la faptul ca persoanele ce au animalute sunt nevoiti sa plece de acasa, iar cu ajutorul unui automat ce elibereaza mancare la orele selectate de utilizator devine mult mai simplu sa-ti ingrijesti micutul prieten. Utilitatea proiectului este data si de faptul ca pentru sanatatea animalului de comapnie este recomandat ca mancarea sa nu-i fie lasata intr-un bol la care are acces mereu ci sa fie hranit cu o cantitate suficienta la ore fixe, lucru asigurat acest automat.

Aparatul se poate programa prin intermediul unor butoare si afiseaza ora pe eranul LCD, iar mancarea ajunge in vas la ora selectata de stapan.

Descriere generală

Utilizatorul stabileste ora la care doreste sa fie hranit animalul de companie si o selecteaza cu ajutorul celor 2 butoane si a ecranului LCD.Cand se ajunge la ora dorita se elibereaza mancarea alaturi de un sunet ce avertizeaza patrupedul ca este ora mesei. Hranitoare poate detecta atunci cand ramane fara mancare in recipient si alerteze atat prin intermediul unui difuzor cat si a unui mesaj scris pe ecran.

Hardware Design

Software Design

Biblioteci utilizate:

  • <LiquidCrystal_I2C.h> si <LiquidCrystal.h> pentru ecranul LCD
  • <HX711_ADC.h> pentru citirea senzorului de greutate
  • <Servo.h> pentru a colotrola servomotorul
  • <RTClib.h> pentru a afisa ora in timp real
  • <Wire.h> pentru i2c si interactiunea cu modulul RTC

Ideea de functionare: am dorit ca pe ecranul principal sa afiseze ora actuala si urmatoarea masa a animalului de companie, in functia loop() descriind si modulu dorit(pe primul rand Current: –ora curenta–, iar pe randul urmator Drop: –ora la care va elibera mancare–). Din cele 2 butoare declarate in cod LeftPressed si RightPressed(declarati in prealabil cu pinii corespunzatori de pe arduino), unul dintre ele controland minutele, iar celalalt ora.

  • In momentul in care ora curenta este egala cu drop servo-ul ar trebui sa se roteasca, iar mancarea sa se elibereze in bolul de dedesubt(lucru descris de functia DropContent(). Daca nivelul de mancare s-a golit senzorul de grutate v-a depista acest lucru si va porni alarma buzzerului(functia alarma() din interiorul proiectului). Dupa umplerea vasului va dura cateva sende pana se va calibra senzorului si va afisa greutatea corespunzatoare pentru ca ia in calcul faptul ca ar putea elibera mancarea in acest interval.

Afisare ora curenta si urmatoarea ora de hranire:

Rezultate Obţinute

Nu am reusit implementarea tuturor ideeilor initiale din cauza schimbarii structurii, moment in care unele implementari nu au mai functionat

Concluzii

A fost prima data cand am lucrat cu ceva de genul, iar initial mi s-a parut ca tema aleasa nu ar prezenta asa mari probleme, dar intr-un final mi-a luat foarte mult timp structura proiectului si mi-a pus mai multe probleme decat ma asteptam.

Download

Arhiva ce contine proiectul: proiect_pm_barbu_mihaela-daniela_333cc.zip

Jurnal

  • Saptamana 9: 22-26 Aprilie - Alegerea temei proiectului
  • Saptamana 10: 29-03 Mai - Comandarea componentelor
  • Saptamana 12: 13-17 Mai - Realizarea schemei electrice, asamblarea hardware si un inceput de software
  • Saptamana 13: 20-26 Mai - Comandarea din nou de piese + testarea unei versiuni de cod, a proiectului si realizarea pagini de wiki

Bibliografie/Resurse

pm/prj2024/aungureanu/mihaela.barbu1707.txt · Last modified: 2024/05/27 03:09 by mihaela.barbu1707
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