This is an old revision of the document!
Plant Feeder
Introducere
Ce face?
Plant feeder este un dispozitiv care hraneste plantele automat.
El detecteza cand umiditatea in sol este prea mica si actioneaza o pompa care trage apa dintr-un bazin, in sol, prin intermediul unui furtun.
De asemenea, detecteaza cand nu mai este suficienta apa in bazin, prin intermediul unui senzor ultrasonic.
Cand dispozitivul detecteaza ca nu mai este suficienta apa in bazin, se aprinde un LED rosu si trimite un mail utilizatorului.
Cu ajutorul unui ecran LCD cu I2C, afiseaza umiditatea din sol si cantitatea de apa din bazin, la actionarea unui buton.
Prin actionarea altui buton, pe ecranul LCD se afiseaza si umiditatea si temperatura din aer. La actionarea aceluiasi buton, ecranul LCD schimba intre proprietatiile solului si ale aerului.
Care este scopul lui?
Acest dispozitiv automatizeaza procesul de hranire a plantelor, monitorizand nivelul de umiditate in sol si actionanand in consecinta pentru a mentine conditiile optime pentru cresterea plantelor.
Care a fost ideea de la care am pornit?
Plantele ajuta sa faca dintr-un loc, o casa.
Multe persoane (incluzandu-ma si pe mine) uita sa isi hraneasca plantele, sau pun apa de ori de cate ori isi amintesc (sau se mai intampla ca atunci cand cineva hraneste o planta, sa puna prea mult apa si sa dea peste 😅).
Acest dispozitiv rezolva toate aceste probleme si chiar mai multe.
De ce cred ca este util pentru mine si pentru altii?
Plant feeder este foarte util pentru toata lumea care doreste sa aiba plante in casa, nu doar pentru cei care nu reusesc sa aiba grija nici de un cactus.
Acesta ajuta foarte mult atunci cand utilizatorul este plecat pentru o perioada indelungata de acasa, sa nu mai fie nevoie sa dea cheia la un var sa vina sa puna apa la flori.
Descriere Generala
Schema Bloc
Hardware Design
Lista de Piese
Scheme Electrice
Software Design
Mediu de Dezolvare
Librarii si Surse 3'rd Party
Algoritmi si Structuri pe care Planuiesc sa le Implementez
Surse si Functii Implementate
Functia setup() → Initializeaza componentele hardware (senzorul de distanta, pompa, LED-ul, butoanele si LCD-ul). Setează pinurile pentru senzorul ultrasonic.Afișează un mesaj de bun venit pe LCD.
Funcția loop() → Actualizează ora curentă de la ceasul DS3231. Măsoară distanța folosind senzorul ultrasonic pentru a verifica disponibilitatea hranei.Verifică și execută programele de hrănire la timpii setați.Gestionează intrările de la telecomandă pentru a naviga în meniuri și a seta timpii de hrănire.
Funcții de Afișare pe LCD → writeFirstLine(char* text): Afișează text pe prima linie a ecranului LCD.writeSecondLine(char* text): Afișează text pe a doua linie a ecranului LCD.
Funcția microsecondsToCentimeters(long microseconds) → Convertește timpul de răspuns al senzorului ultrasonic în centimetri.
Funcția make_Time(char number) → Permite utilizatorului să seteze timpul de hrănire prin introducerea cifrelor folosind telecomanda IR.
Rezultate Obtinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
warning
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
note
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie si Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.