This is an old revision of the document!


Happy Plants

cute-happy-smiling-plant-vector-flat-cartoon-illustration-icon-design-isolated-white-background-plant-pot-houseplant-concept-157216265.jpg

Autor : Popa Stefania
Grupa : 336CB

Introducere

Ideea proiectului a plecat de la o problema de care m-am lovit de multe ori in perioada mea de studentie. Fiind o iubitoare de plante si de natura, de fiecare data cand plecam de acasa ma ingrijoram in privinta ghivecelor mele cu flori, sperand ca acestea sa nu se ofileasca pana ce eu ma voi intoarce.

Proiectul acesta a fost ocazia perfecta de a crea un sistem de ingrijire a plantelor, care sa le ude atunci cand este nevoie, si totodata, care sa afiseze informatiile esentiale despre acestea.

Descriere generala

Pentru implementarea sistemului de ingrijire a plantelor, ma voi folosi de citirea periodica a unui senzor de umiditate din ghiveci. Cand umiditatea va scadea sub un anumit prag, pompa de apa se va activa si va uda planta pana la un nivel de umiditate potrivit. Totodata, va exista si optiunea de udare manuala a plantei, prin apasarea unui buton ce va activa pompa de apa si va uda planta cat timp butonul va fi actionat.

Pentru ca utilizatorul sa poata stii oricand informatiile esentiale despre starea plantei, voi folosi un LCD pentru afisarea umiditatii din momentul curent si un LED care va lumina verde cat timp planta este la o umiditate potrivita (cuprinsa in intervalul acceptat) si albastru in timpul in care planta este udata (pompa trimite apa catre ghiveci).

Schema Bloc:

Hardware Design

Lista de piese:

  • Arduino UNO → ATMega328p
  • Breadboard
  • Fire de legatura
  • Senzor de umiditate a solului
  • Mini Pompa de apa
  • Tranzistor NPN
  • Dioda Schottky
  • Rezistenta 270 Ohm
  • LCD 1602 cu interfata I2C
  • Buton
  • Rezistenta 1.8 KOhm
  • LED RGB
  • 3 x Rezistenta 220 Ohm

Schema electrica:

whatsapp_image_2023-05-22_at_15.53.52.jpeg

whatsapp_image_2023-05-23_at_00.59.17.jpeg

whatsapp_image_2023-05-23_at_01.02.42.jpeg

whatsapp_image_2023-05-23_at_01.02.43.jpeg

Dupa cum se poate observa, pentru LED am folosit 3 rezistori, unul pentru fiecare dintre pinii de culoare, pentru a ne asigura ca acesta nu se arde. De asemenea, pentru buton am folosit o rezistenta, pentru a fi siguri ca atunci cand butonul nu este apasat, inputul este conectat ori la 0 ori la 1, deci nu va citi un alt semnal random.

Deoarece pompa de apa nu avea pinii iesiti in afara pentru a putea fi conectata la breadboard, au fost necesare niste operatiuni de lipire.

Software Design

In sectiunea de setup avem functiile ce pregatesc LCD-ul, LED-ul, pompa si butonul pentru a putea lucra cu ele. Mai exact, pornesc interfața serială pentru comunicarea cu ecranul LCD si setez pinii ca fiind de INPUT sau OUTPUT in concordanta cu functionalitatea lor.(daca trebuie sa citeasca vreun semnal, sau sa afiseze unul)

Urmeaza sectiunea helper functions:

  • read_soil_humidity: citeste valoarea senzorului de umiditate a solului, aceasta aflandu-se in intervalul [0, 1023] si o converteste in procente, adica in intervalul [0, 100]. Totodata, stabileste daca solul are o umiditate propice ( > 50% ) sau nu.
  • check_soil_hum_led: aceasta este functia cu ajutorul careia controlez LED-ul RGB. Daca pompa va fi actionata (manual sau automat), LED-ul va lumina albastru, indicand ca planta este udata. Daca planta va avea umiditate propice si nu va fi udata, atunci LED-ul va lumina verde, sugerand faptul ca planta este verde si vesela.
  • button_check: cu aceasta functie citim semnalul transmis de buton, adica verificam daca acesta este apasat sau nu.
  • operate_pump: aceasta este functia care porneste pompa daca umiditatea solului este < 50% sau daca butonul este apasat.
  • print_lcd: aici doar afisez umiditatea curenta a solului

Rezultate Obtinute

Prin toate cele prezentate, am reusit implementarea unui sistem de udare al plantelor atat automat, cat si manual, care ne permite sa plecam in vacanta fara griji si care ne face plantele fericite.

Va invit sa priviti demo-ul proiectului: demo_video_happy_plants.zip

Concluzii

Fiind cam singurul proiect practic din acesti ani de facultate, a fost o experienta foarte interesanta si o ocazie perfecta de a implementa ideea pe care o aveam in minte de mult timp.

Acesta rezolva o problema de care eu personal m-am lovit de nenumarate ori, si anume udarea automata a plantelor, simuland ideea unui ghiveci inteligent, care furnizeaza apa plantei atunci cand umiditatea este prea scazuta sau cand utilizatorul doreste sa porneasca pompa prin apasarea butonului. Singurul lucru de care utilizatorul trebuie sa se ocupe este umplerea recipientului cu apa.

Download

Puteti accesa codul sursa pentru implementarea proiectului aici:

popa_stefania_336cb.zip

Jurnal

  • 25 aprilie 2023: Am ales tema proiectului & am creat pagina wiki a acestuia
  • 2 mai 2023: Am inceput documentatia cu descrierea proiectului si a design-ului hardware
  • 5 mai 2023: Am comandat piesele necesare implementarii proiectului
  • 9 mai 2023: Am lipit pinii pompei de apa la laborator, pentru a putea fi conectata la Arduino
  • 14 mai 2023: Am asamblat componentele si am testat functionalitatea de baza a lor
  • 29 mai 2023: Am implementat partea software a proiectului
  • 30 mai 2023: Gata pentru PM fair

Bibliografie/Resurse

pm/prj2023/iotelea/happy_plants.1685408508.txt.gz · Last modified: 2023/05/30 04:01 by stefania.popa0401
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