This shows you the differences between two versions of the page.
pm:prj2021:dbrigalda:feedme-waterme [2021/06/02 15:32] bogdan.simion2706 |
pm:prj2021:dbrigalda:feedme-waterme [2021/06/02 23:09] (current) bogdan.simion2706 |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Feed me, Water me ====== | ====== Feed me, Water me ====== | ||
+ | Autor: Bogdan-Alexandru Simion (bogdan.simion2706@stud.acs.pub.ro) | ||
===== Introducere ===== | ===== Introducere ===== | ||
Line 18: | Line 19: | ||
==== Funcționare ==== | ==== 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 care ridică un steag atunci când totul este ok, 6 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 culoarea LED-urilor, mă voi folosi de 6 butoane, cate unul pentru micșorarea sau creșterea componentei de culoare (R, G sau B). De asemenea, proiectul va include și o mică analiză a datelor colectate, în sensul că va afișa media ultimelor 10 încercări, afișând pe LCD rezultatul și un mesaj prin care se transmite dacă proprietarul își îngrijește planta sau nu. Având un singur LCD, mă voi folosi de un alt buton pentru a face schimbarea dintre momentul măsurării și media ultimelor 10 măsurători. | + | 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 ==== | ==== Schema bloc ==== | ||
Line 41: | Line 42: | ||
==== Schema electrica ==== | ==== Schema electrica ==== | ||
+ | {{:pm:prj2021:dbrigalda:feedme_schematic.png?600|}} | ||
===== Software Design ===== | ===== 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 ===== | ===== Rezultatele obținute ===== | ||
+ | Rezultatul atunci când planta nu primește suficientă lumină: | ||
+ | |||
+ | {{:pm:prj2021:dbrigalda:feedme_bad.jpeg?600|}} | ||
+ | |||
+ | [[https://youtu.be/uYDLWwmClkM|{{:pm:prj2021:dbrigalda:result_feedme.png?nolink&600}}]] | ||
===== Concluzii ===== | ===== 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 ===== | ===== Download ===== | ||
Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> | Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> | ||
+ | |||
+ | Arhiva cu implementarea poate fi găsită aici: {{:pm:prj2021:dbrigalda:feedme.zip}} | ||
===== Bibliografie și Resurse ===== | ===== Bibliografie și Resurse ===== | ||
+ | |||
+ | Pentru a realiza proiectul m-am folosit de: | ||
+ | * Laboratoarele de PM | ||
+ | * Site-ul [[https://www.arduino.cc/|Arduino]] | ||
+ | * [[https://cdn.sparkfun.com/assets/b/e/c/3/d/ALS-PT19_DS.pdf|Datasheet-ul]] senzorului de lumină |