Table of Contents

Feed me, Water me

Autor: Bogdan-Alexandru Simion (bogdan.simion2706@stud.acs.pub.ro)

Introducere

Ce face?

Cu ajutorul a 3 senzori: de lumină, de temperatură și de umiditate dispozitivul va anunța utilizatorul că planta are sau nu toate resursele necesare pentru a funcționa normal. De asemenea, dacă planta nu este în parametrii normali, dispozitivul va scoate un sunet specific și va afișa un mesaj corespunzător.

Care este scopul?

Scopul proiectului este de a reaminti proprietarii plantelor să-și le îngrijească, mai ales în această perioadă foarte aglomerată.

De unde a plecat?

Proiectul a plecat de la floarea pe care o am pe pervaz pe care nu o îngrijesc în mod direct, dar m-am gândit că ar fi util să fac un dispozitiv prin care aș putea să o îngrijesc fără să o afectez prea mult.

De ce este util?

Mereu proprietarii uită sa pună apă la flori sau nu o pun în locul corect sau atunci când plantele sunt primite și nu se cunosc prea multe despre ele este foarte probabil ca acestea să se ofilească fără să se cunoască motivul. De aceea, consider că proiectul realizat este unul util.

Descriere generală

Funcționare

Dispozitivul folosește cei 3 senzori pentru a detecta dacă planta este îngrijită în mod corespunzător. Dacă măsurătorile făcute nu sunt conforme cu intervalele în care planta se dezvoltă, atunci buzzer-ul va scoate un sunet specific. Pe de altă parte, dispozitivul are în componența lui un LCD care afișează dacă în momentul măsurării, planta are tot ce îi trebuie sau nu. Dispozitivul mai are în componență un servomotor ce are un steag și care se mișcă la tranziția dintre o stare conformă la o stare neconformă a plantei, 3 LED-uri ce vor lumina plăcut sau mai agresiv în funcție de nivelul de îngrijire al plantei, dar și două butoane prin care se reglează frecvența la care buzzer-ul va scoate sunetul. Pentru a putea selecta modalitatea de colorare a LED-urilor, mă voi folosi de 3 butoane.

Schema bloc

Hardware Design

Listă de piese

  1. Arduino UNO;
  2. Breadboard;
  3. Senzor de lumină;
  4. Senzor de temperatură;
  5. Senzor de umiditate;
  6. LCD;
  7. LED-uri;
  8. Butoane;
  9. Buzzer;
  10. Servomotor;
  11. Rezistente;
  12. Fire (atât tată-tată cât și tată-mamă);
  13. Steag

Schema electrica

Software Design

Mediul de dezvoltare în care am lucrat este Arduino IDE, iar bibliotecile pe care le-am folosit au fost: Wire.h, LiquidCristal_I2C.h și Servo.h.

Pentru început, am setat cele 3 moduri de luminare a ledurilor RGB, astfel încât la apăsarea unui buton ledurile să lumineze altfel. Modurile sunt diferențiate după intensitatea de început a fiecărei culori. Pentru a seta intensitățile culorilor am implementat o funcție numită setColorRGB, ce ia intensitățile fiecărei culori drept parametru.

În continuare, senzorii măsoară parametrii de interes ai plantei, și dacă cumva nu sunt în conformitate cu condițiile, atunci Arduino va intra în funcția alert, unde LCD-ul va afișa faptul că planta nu este îngrijită corespunzător. De asemenea, funcția alert va face ca buzzerul să scoată un sunet iritant, acesta putându-i fi reglată frecvența de ieșire. În plus, servomotorul se va mișca la 180 de grade, urmând ca atunci când planta are tot ce-i trebuie să se miște la loc la 0 grade.

Rezultatele obținute

Rezultatul atunci când planta nu primește suficientă lumină:

Concluzii

Proiectul pe care l-am avut de implementat a fost un real succes, reușind să-l implementez complet în aproape o săptămână, devenind foarte interesat de ascunzișurile plăcii Arduino. Chiar dacă nu am fost încrezător la început că pot duce la bun sfârșit acest proiect, din cauza complexității, am reușit să-l duc la bun sfârșit, fiind o experiență plăcută. Sper ca pe viitor să mă pot folosi de el ori de câte ori am nevoie de el.

Download

Documentația în format PDF

Arhiva cu implementarea poate fi găsită aici: feedme.zip

Bibliografie și Resurse

Pentru a realiza proiectul m-am folosit de: