Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:ccristi:andrei_daniel.lungu [2025/05/09 22:00]
andrei_daniel.lungu
pm:prj2025:ccristi:andrei_daniel.lungu [2025/05/27 22:13] (current)
andrei_daniel.lungu [Jurnal]
Line 2: Line 2:
 ===== Introducere ===== ===== Introducere =====
  
-<note tip> 
-Prezentarea pe scurt a proiectului vostru: 
-  * ce face 
-  * care este scopul lui 
-  * care a fost ideea de la care aţi pornit 
-  * de ce credeţi că este util pentru alţii şi pentru voi 
-</​note>​ 
 Sistemul automat pentru udarea plantelor verifica umiditatea din sol periodic si o mentine la un nivel constant prin pornirea unui sisem de udare prin picurare. Cu acest sistem fiecare planta are senzorul ei si e conectata la un rezervor, individual sau distribuit. Nivelul de umiditate poate fi setat de catre utilizator in functie de nevoile plantei si de tipul solului. De asemenea, sistemul poate fi accesat prin internet cu ajutorul unei aplicatii. Alte functionalitati pe care le ofera vor fi: afisarea temperaturii,​ log-uri pentru cand a udat, nivelul de apa din rezervorul fiecarei plante. ​ Sistemul automat pentru udarea plantelor verifica umiditatea din sol periodic si o mentine la un nivel constant prin pornirea unui sisem de udare prin picurare. Cu acest sistem fiecare planta are senzorul ei si e conectata la un rezervor, individual sau distribuit. Nivelul de umiditate poate fi setat de catre utilizator in functie de nevoile plantei si de tipul solului. De asemenea, sistemul poate fi accesat prin internet cu ajutorul unei aplicatii. Alte functionalitati pe care le ofera vor fi: afisarea temperaturii,​ log-uri pentru cand a udat, nivelul de apa din rezervorul fiecarei plante. ​
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip> +{{:pm:prj2025:​ccristi:​schema_sistem_udat_plante.png|Schema bloc}}
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. +
- +
-Exemplu de schemă blochttp://www.robs-projects.com/​mp3proj/​newplayer.html +
-</​note>​+
  
 +Cu ajutorul telefonului sau a laptop-ului voi comunica prin wifi cu microcontroller-ul ESP32, astfel incat sa obtin de la el informatii in timp real despre temperatura ambientala si umiditatea din aer/sol din zona plantelor.
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> +Lista de componente
-Aici puneţi tot ce ţine de hardware design+  * ESP32-C6 Super Mini, 
-  * listă de piese +  * senzor ​de umiditate,  
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-urie.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +  * senzor ​de temperatura, ​ 
-  * diagrame ​de semnal ​ +  * electrovalva,​ 
-  * rezultatele simulării +  breadboard 
-</​note>​ + 
-* ESP32-C6 Super Mini, +Schema electrica:​ 
-senzor de umiditate,  + 
-senzor de temperatura +{{:​pm:​prj2025:​ccristi:​schema_electrica_daniel_lungu_pm2025.png?​800|}} 
-electrovalva,​ + 
-breadboard+Explicarea necesitatii componentelor:​ 
 + 
 +  - ESP32-C6 Super Mini = microcontroller-ul care va gestiona conexiunea cu telefonulva primi input de la senzor ​si va comanda pornirea sistemului ​de udare 
 +  - Battery 5V = sursa de alimentare pentru valvaera insuficient curentul primit de la microcontroller 
 +  - Soil moisture sensor = senzorul care masoara umiditatea din sol si pe baza caruia se va decide pornirea apei 
 +  - Valve = "​robinetul"​ care va porni apa din rezervor 
 +  - DHT22 = senzor de umiditate si temperatura ​pentru a citi temperatura ambientala si umiditatea aerului ​ 
 + 
 +Descriere a functionarii:​ 
 +  ​Senzorul de umiditate sol e citit in mod analogic pe pinul GP1. 
 +  Senzorul DHT22 e citit in mod digital pe pinul GP0.   
 +  * Valva e controlata de pinul GP2, care e configurat in modul open drain astfel incat valva sa isi ia curentul de la baterie dar sa fie controlata pornirea de pe microcontroller. 
 + 
 +Poza cu hardware-ul:​ 
 + 
 +{{:​pm:​prj2025:​ccristi:​poza_proiect_daniel_lungu_pm2025.jpeg?​800|}}
 ===== Software Design ===== ===== Software Design =====
  
 +Mediul de dezvoltare: ESP-IDF (Espressif IoT Development Framework)
  
-<note tip> +Biblioteci si surse third-party: 
-Descrierea codului aplicaţiei (firmware)+ 
-  * mediu de dezvoltare (if any) (e.gAVR StudioCodeVisionAVR) +Pentru ca ESP nu ofera acces low level atat de usor ca Arduino, am fost nevoit sa folosesc mai multe biblioteci din framework-ul ESP-IDF.  
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) + 
-  ​* algoritmi şi structuri ​pe care plănuiţi să le implementaţi +  * esp_wifi.h - pentru conectarea la reteaua wifi 
-  ​(etapa 3surse şi funcţii implementate +  * esp_timer.h - pentru masurarea timpului in sistemul de loguri 
-</note>+  * nvs_flash.h - non-volatile storagenecesar pentru modulul de wifi 
 +  * esp_http_server.h ​pentru a raspunde la cereri http cu informatii despre parametrii masurati 
 + 
 +Pe langa asta, am avut nevoie de o biblioteca custom pentru senzorul de umiditate si temperatura DHT22, care implementeaza un protocol one-wire special pentru citirea datelor. 
 + 
 + 
 +Functionalitati implementate:​ 
 +  ​- server http pe placuta ​care afiseaza o pagina cu butoane din care poti trimite cereri prin wifi 
 +  ​- citire senzor de umiditate sol in mod analogic 
 +  - citire senzor de temperatura si umiditate DHT22 in mod digital ​(folosind biblioteca specializata
 +  - comandarea valvei de pornire a apei atunci cand umiditatea ambientala este sub un prag 
 +  - citirea logurilor prin cereri http 
 + 
 +Link git: https://​github.com/​D9nni/​PM-Plant-Watering-System
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +La finalul ​proiectului, placuta se conecteaza la reteaua wi-fi prestabilita si primeste o adresa IP la care poate fi accesata din browser, unde afiseaza butoane prin care poti face cereri despre parametrii importanti. Proiectul se comporta ca o mica statie meteo mai degraba, care iti poate raspunde care este umiditatea, temperatura si umiditatea solului in timp real.
-Care au fost rezultatele obţinute în urma realizării ​proiectului ​vostru. +
-</​note>​+
  
 +Partea de pornire a apei a esuat din cauza hardware-ului prost ales, am avut o valva de aer in loc de o valva de apa sau de o pompa, care consuma mult curent si care pana la urma nu mai functioneaza deloc.
 ===== Concluzii ===== ===== Concluzii =====
  
 +In concluzie, proiectul a esuat ca produs final, am castigat doar experienta. Lipsa componentei necesare care era o pompa submersibila mica sau o valva mai serioasa pentru apa a fost o problema esentiala, de asemenea a durat mult sa gasesc cum sa programez placuta mea care e una dintr-o serie mai rara. Ar fi trebuit sa lucrez cu ceva asemanator cu ce am avut la laborator pentru rezultate mai bune.
 ===== Download ===== ===== Download =====
  
Line 58: Line 77:
 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**. 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**.
 </​note>​ </​note>​
 +
 +===== Jurnal =====
 +
 +12 mai - am cumparat ESP32, senzor de umiditate sol si senzor de temperatura si umiditate a aerului DHT11
 +
 +14 mai - am lipit placuta la laborator, am testat componentele,​ am folosit pentru inceput cod Arduino. Nu am reusit sa gasesc in platformIO placuta mea. Am ars din greseala senzorul DHT11.
 +
 +20 mai - am comandat alt senzor DHT22 si o valva de aer in loc de pompa de apa pe care ar fi trebuit sa o am.
 +
 +22 mai - Am constatat ca valva de aer consuma mult curent si nu o pot lega direct la un pin, am incercat sa folosesc pinul in modul open drain si sa pun o rezistenta de pull up catre vcc, dar curentul obtinut era prea mic pentru a porni valva. Valva se deschidea totusi daca o puneam direct la vcc, dar daca puneam o rezistenta cat de mica nu mai mergea. M-am gandit sa adaug o baterie, dar nu era ok sa bag curentul care vine din baterie in pinul de la esp.
 +
 +23 mai - am inceput dezvoltarea codului pentru proiect folosind esp-idf pe linux
 +
 +25 mai - La laborator mi s-a recomandat ca solutie un tranzistor IRLZ44N, nu era pe stoc, am luat altceva care avea tensiunea de poarta de prag prea mare, nu am reusit nimic cu el.
 +
 +27 mai -  Am cautat IRLZ44N si.. surpriza, am primit IRLZ234N, care tot nu comuta cu impulsul dat de pinul de pe esp. Ca ultima solutie am pus un buton care sa deschida valva manual pentru a face o demonstratie,​ dar pana la urma pare ca valva nu mai functioneaza deloc.
 +Am imbunatatit codul, transformand esp-ul intr-un server http care raspunde la requesturi despre parametrii de mediu si prin care sa poti porni apa.
 +
 +===== Bibliografie/​Resurse =====
 +
 +<​note>​
 +Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 +</​note>​
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
 +Datasheet ESP32-C6FH4:​
 +https://​www.espressif.com/​sites/​default/​files/​documentation/​esp32-c6_datasheet_en.pdf
pm/prj2025/ccristi/andrei_daniel.lungu.1746817203.txt.gz · Last modified: 2025/05/09 22:00 by andrei_daniel.lungu
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