This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:roxana_mary.baranga [2026/05/25 01:22] roxana_mary.baranga [Concluzii] |
pm:prj2026:bianca.popa1106:roxana_mary.baranga [2026/05/25 01:46] (current) roxana_mary.baranga |
||
|---|---|---|---|
| Line 25: | Line 25: | ||
| **Module de iesire**: | **Module de iesire**: | ||
| - | * display TFT LCD color de 1.8", cu rezolutie de 128 x 160 pixeli si interfata SPI, utilizat pentru afisarea locala a starii sistemului | + | * display TFT LCD color de 1.8", cu rezolutie de 128 x 160 pixeli si interfata SPI, utilizat pentru afisarea locala a unui „plant pet” care reflecta starea plantei |
| * pompa peristaltica de 5V, pentru irigarea plantei | * pompa peristaltica de 5V, pentru irigarea plantei | ||
| * sursa de iluminare LED de 5V, pentru suplimentarea luminii atunci cand lumina ambientala nu este suficienta | * sursa de iluminare LED de 5V, pentru suplimentarea luminii atunci cand lumina ambientala nu este suficienta | ||
| **Interfata software**: | **Interfata software**: | ||
| - | * aplicatie conectata prin WiFi / Bluetooth la ESP32, prin care utilizatorul poate vedea starea curenta a plantei si poate seta praguri pentru umiditatea solului, temperatura si lumina | + | * aplicatie conectata prin WiFi la ESP32, prin care utilizatorul poate vedea starea curenta a plantei si poate seta praguri pentru umiditatea solului, temperatura si lumina |
| **Sistemul de alimentare**: | **Sistemul de alimentare**: | ||
| Line 45: | Line 45: | ||
| * daca nivelul de lumina ambientala scade sub pragul stabilit, ESP32 activeaza sursa de iluminare LED | * daca nivelul de lumina ambientala scade sub pragul stabilit, ESP32 activeaza sursa de iluminare LED | ||
| * daca float switch-ul indica un nivel scazut de apa, sistemul dezactiveaza udarea si trimite o alerta catre aplicatie | * daca float switch-ul indica un nivel scazut de apa, sistemul dezactiveaza udarea si trimite o alerta catre aplicatie | ||
| - | * starea curenta e afisata si pe LCD si in aplicatie | + | * starea curenta este afisata local pe display-ul TFT sub forma unui „plant pet” si la distanta in aplicatia web, unde sunt afisate si valorile senzorilor |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 62: | Line 62: | ||
| * 1 x Dioda flyback 1N5819 | * 1 x Dioda flyback 1N5819 | ||
| * 4 x Rezistente pentru comanda MOSFET | * 4 x Rezistente pentru comanda MOSFET | ||
| - | * 1 x LED de stare | + | * 1 x Breadboard |
| - | * 1 x Buton de test / reset | + | |
| - | * 1 x Breadboard / PCB | + | |
| * 1 x Baterie portabila | * 1 x Baterie portabila | ||
| * 1 x Tub siliconic pentru pompa | * 1 x Tub siliconic pentru pompa | ||
| Line 79: | Line 77: | ||
| Biblioteci: | Biblioteci: | ||
| - | * driver/gpio.h | + | * driver/gpio.h - configurarea si controlul pinilor digitali |
| - | * driver/spi_master.h | + | * driver/spi_master.h - comunicatia SPI cu display-ul TFT |
| - | * esp-adc/adc_oneshot | + | * esp_adc/adc_oneshot.h - citirea valorilor analogice de la senzorul de umiditate a solului si de la senzorul de lumina |
| - | * freertos/FreeRTOS.h | + | * freertos/FreeRTOS.h - organizarea executiei periodice a codului |
| - | * esp_http_server.h | + | * freertos/task.h - task-uri pentru logica principala si animatia de pe TFT |
| - | * esp_wifi.h | + | * esp_http_server.h - serverul web local |
| - | * nvs_flash.h | + | * esp_wifi.h - configurarea modulului WiFi |
| - | * esp_timer.h | + | * esp_netif.h - initializarea interfetei de retea |
| - | * esp_rom_sys.h | + | * esp_event.h - gestionarea evenimentelor necesare pentru WiFi |
| + | * nvs_flash.h - initializarea memoriei nevolatile necesare subsistemului WiFi | ||
| + | * esp_timer.h - masurarea timpului si implementarea logicii dependente de timp | ||
| + | * esp_rom_sys.h - intarzieri scurte folosite in comunicatia cu DHT11 | ||
| Algoritmi si structuri implementate: | Algoritmi si structuri implementate: | ||
| - | * achizitie periodica date de la senzori | + | * achizitie periodica de date de la senzori |
| - | * protocol software pentru DHT11 | + | * protocol software pentru DHT11, implementat manual prin controlul duratei impulsurilor |
| + | * pastrarea ultimei valori valide pentru DHT11, pentru a evita afisarea unor valori invalide la erori ocazionale | ||
| + | * conversia valorilor brute de la soil sensor si LDR in procente si etichete usor de inteles pentru utilizator | ||
| * controlul automat al iluminarii | * controlul automat al iluminarii | ||
| * controlul automat al pompei peristaltice | * controlul automat al pompei peristaltice | ||
| - | * afisare locala pe TFT | + | * folosirea unei zone de buffer (hysteresis) pentru pragurile de lumina si umiditate a solului, astfel incat becul si pompa sa nu porneasca si sa se opreasca foarte des in jurul pragului |
| + | * afisare locala pe TFT sub forma unui „plant pet”, care isi modifica expresia in functie de starea plantei | ||
| * interfata web locala - WiFi access point | * interfata web locala - WiFi access point | ||
| + | * organizarea codului pe module separate: logica principala, display TFT, conversii si webserver | ||
| Functii implementate: | Functii implementate: | ||
| - | * initializare TFT si desenare text | + | * initializare display TFT |
| + | * desenare elemente grafice si animatii simple pe TFT | ||
| + | * afisarea unui personaj virtual care indica starea plantei: HAPPY, THIRSTY, LOW TANK, TOO HOT, LOW LIGHT, ERROR | ||
| * citire senzor DHT11 | * citire senzor DHT11 | ||
| * citire ADC | * citire ADC | ||
| - | * actualizare interfata grafica locala | + | * conversie valori raw in procente pentru umiditatea solului si nivelul de lumina |
| + | * control bec prin MOSFET | ||
| + | * control pompa peristaltica prin MOSFET | ||
| * pornire modul WiFi in modul Access Point | * pornire modul WiFi in modul Access Point | ||
| * handlers HTTP pentru pagina web, raportarea starii curente si actualizarea pragurilor | * handlers HTTP pentru pagina web, raportarea starii curente si actualizarea pragurilor | ||
| + | * actualizare interfata web cu valorile senzorilor si starile actuatorilor | ||
| - | Am obtinut un produs compact, care poate fi arasat de orice planta. Acesta poate monitoriza si ajusta mediul in care planta se dezvolta. | + | Am obtinut un produs compact, care poate fi asezat langa o planta. Acesta poate monitoriza si ajusta mediul in care planta se dezvolta si ofera atat o interfata web pentru configurare si vizualizare, cat si o interfata locala sugestiva sub forma unui „animal de companie” virtual asociat plantei. |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| GitHub: https://github.com/RoxanaMaryB/PlantPet | GitHub: https://github.com/RoxanaMaryB/PlantPet | ||
| + | |||
| Demo YouTube: https://youtube.com/shorts/6ExZQT39He8?feature=share | Demo YouTube: https://youtube.com/shorts/6ExZQT39He8?feature=share | ||
| + | |||
| + | Cu cateva zile inainte de PM Fair, pompa peristaltica s-a stricat si am ales sa nu o mai includ in proiectul final. Si partea de hardware (MOSFET, dioda flyback) este montata pentru pompa, si logica software, insa nu am reusit sa gasesc la timp o alta pompa pentru a prezenta proiectul in intregime. | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | TODO | + | * 2026/05/06 - am creat pagina de OCW |
| + | * 2026/05/13 - am adaugat partea de Hardware | ||
| + | * 2026/05/18 - am adaugat partea de Software | ||
| + | * 2026/05/24 - am adaugat functionalitati noi codului (animatia si conversiile de la raw values la %) | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | TODO | ||
| + | Datasheet ESP32: https://docs.espressif.com/projects/esp-idf/en/v4.2.3/esp32/hw-reference/esp32/get-started-devkitc.html | ||
| + | |||
| + | DHT11: https://www.makerguides.com/wp-content/uploads/2019/02/DHT11-Datasheet.pdf | ||
| + | |||
| + | TFT: https://www.crystalfontz.com/controllers/Sitronix/ST7735S | ||
| + | |||
| + | Soil Moisture Sensor: https://wiki.dfrobot.com/sen0193 | ||
| + | |||
| + | MOSFET: https://www.infineon.com/assets/row/public/documents/24/49/infineon-irlz44n-datasheet-en.pdf | ||