This is an old revision of the document!
Ciulinca Andra Stefania - 334CA
Scopul proiectului este de a crea un dispozitiv autonom de monitorizare a plantelor, util pentru persoane care doresc să asigure automat condițiile optime de mediu pentru plantele lor, fără a verifica manual fiecare factor.
Descrierea legăturilor făcute și a pinilor utilizați:
În această etapă, am implementat complet funcționalitatea de bază pentru monitorizarea și afișarea condițiilor optime pentru o plantă. Codul:
Citește datele de la trei senzori: de temperatură și umiditate (DHT11), umiditate a solului și lumină ambientală.
Evaluează dacă fiecare parametru se află într-un interval optim.
Afișează mesaje corespunzătoare pe un ecran LCD I2C în funcție de starea curentă.
Salvează ultimele 5 stări măsurate și le afișează ciclic, la intervale de timp mai mari, fără a deranja afișajul principal.
Oferă feedback serial în UART pentru monitorizarea valorilor în timp real.
Wire.h – permite comunicarea I2C între placa principală și afișajul LCD.
SimpleDHT.h – o bibliotecă eficientă pentru citirea rapidă a datelor de la senzorul DHT11.
Codul LCD este scris „bare-metal” pentru o mai bună înțelegere a protocolului I2C și controlul precis al afișajului, fără biblioteci standard (ex: LiquidCrystal_I2C).
Proiectul nu doar că oferă un feedback în timp real, dar:
Stochează istoric recent al parametrilor și îl afișează ciclic, fără a perturba mesajele de stare esențiale.
Interfața este non-blocking, folosind timere hardware și întreruperi precise, evitând delay() și blocaje.
Afișajul este dinamic și adaptiv: se revine automat la mesajul „Condiții optime” sau „Probleme” după fiecare afișare de parametri istorici.
Lab 1: USART
Lab 2: Intreruperi
Lab 6: I2C
Am integrat:
Timer2 pentru incrementarea unui cronometru systicks (1ms).
Timer1 configurat pentru generare de întreruperi la fiecare 10ms pentru a semnaliza optimizarea plantelor.
USART implementat manual pentru trimiterea valorilor în consola serială fără biblioteci externe.
Citirea senzorilor analogici și integrarea unui senzor digital (DHT11) prin protocoale precise.
Structura este modulară și include:
SimpleDHT pentru citirea temperaturii și umidității.
analogRead pentru senzorii de lumină și umiditate sol.
Funcții personalizate pentru controlul LCD I2C fără biblioteci.
Două tipuri de afișaje: mesaje de stare + afișare ciclică din istoric.
systicks și întreruperi pentru temporizare neblocantă.
Structură PlantState și buffer circular pentru istoric.
Verificare serială a valorilor citite.
Testare prin variarea parametrilor senzorilor.
Observarea schimbării automate a mesajelor pe LCD.
Eliminarea folosirii delay(): toată logica se bazează pe timere precise cu systicks.
Logica ciclică pentru afișare istoric fără a afecta mesajele importante.
Afișarea pe LCD se face doar când este nevoie, evitând suprascrieri inutile.
UART implementat manual fără Serial.begin(), pentru compatibilitate cu hardware custom.