Funcționalitățile pe care îmi propun să le implementez:
Stația măsoară umiditatea solului, temperatura, umiditatea aerului, presiunea atmosferică și nivelul radiației UV, afișează aceste valori pe un ecran OLED și emite alerte sonore (buzzer) și vizuale (mesaj pe OLED) atunci când pragurile predefinite sunt depășite. În plus, utilizatorul poate interacționa printr-un terminal Bluetooth Classic SPP pentru a interoga date și a regla pragurile în timp real și poate vizualiza datele reale prin intermediul aplicației Blynk, conectată la plăcuță prin WiFi.
Scopul proiectului:
Să ofere iubitorilor de plante (sau persoanelor care nu reușesc să își mențină plantele în viață ) o unealtă simplă și accesibilă pentru monitorizarea condițiilor de mediu și prevenirea stresului plantelor (creșterea UV, uscarea solului), optimizând astfel udarea și îngrijirea.
Ideea de la care am pornit:
Am pornit de la nevoia de a avea un sistem ușor de folosit, care să combine mai mulți senzori într-o interfață unificată și să permită atât vizualizare locală (OLED + buzzer + LED), cât și acces remote prin Bluetooth SPP și Blynk IOT. Cum nu mă consider o persoană responsabilă în îngirjirea plantelor, mi s-a părut un proiect care ar putea avea utilitatea în viața reală, ajutându-mă să am grijă mai ușor de plante.
De ce este util pentru alții și pentru noi:
Pentru alții: Simplifică monitorizarea plantelor de apartament sau din sere mici, fără a fi nevoie de echipamente complexe sau abonamente la servicii online.
Pentru mine: Îmi doresc să pot avea grijă de plante mai ușor și să îmi dau seama când și cum trebuie să le ofer atenție, lucru pe care uneori nu reușesc să îl fac pe cont propriu.
Staţia meteo pentru plante este construită în jurul unei plăci ESP32, care:
Colectează datele de mediu
Procesează şi afişează local
Notifică şi alertează userul
Interacţiune utilizator
Flux de funcţionare
Pin DATA → GPIO 32 (ADC1_CH4)
Pull-up 4.7 kΩ între DATA și 3.3 V
VCC → 3.3 V și GND → GND
AOUT → GPIO 36 (ADC1_CH0, alias VP)
VCC → 3.3 V și GND → GND
Mapare în cod
LDR legat între 3.3 V și pinul ADC (GPIO 33 = ADC1_CH5)
Rezistor fix 10 kΩ între același pin ADC și GND
GPIO 33 ales pentru stabilitate pe ADC1 (nu interferează cu WiFi sau Bluetooth)
Controll PWM0 → GPIO 25
Minus buzzer → GND
BluetoothSerial (UART)
Wi-Fi (Blynk)
Listă componente utilizate (alături de linkurile de unde le-am achiziționat):
Pentru a face schematicul, am folosit platforma easy eda. Mai jos, am atașat schema circuitului electric pentru proiectul realizat de mine.
Citirea senzorilor:
State machine Bluetooth-menu:
Structură date plante:
Alarmă și ieșiri:
Surse și funcții implementate:
setup()
loop()
Dacă SerialBT.available():
În caz contrar:
sendSensor() — trimite periodic datele la Blynk
readLightRaw() — eșantionare și media pentru stabilizare citiri LDR
Pe aplicația Blynk, afișarea va fi in felul următor:
În interfața serială Bluetooth, meniul va arăta astfel:
Senzori
Functionalități interactive
Bluetooth Serial Menu:
Blynk Web Dashboard:
Alerte și ieșiri
Buzzer PWM:
LED de avertizare:
Pentru testele făcute de mine, modelul s-a comportat conform așteptărilor, iar senzorii au interceptat toate schimbările de mediu pe care le-am adus. Overall, sunt mulțumită de performanța pe care a avut-o proiectul.
Stația meteo pentru plante implementată pe ESP32 a demonstrat succes atât din perspectivă hardware, cât și software, îndeplinind așteptările proiectului pe care le-am setat inițial.
Funcționalitate completă
Interacțiune cu utilizatorul:
Extensibilitate
Îmbunătățiri posibile
În concluzie, proiectul satisface obiectivele educaționale și practice, oferind o platformă solidă și scalabilă pentru monitorizarea ambientală și îngrijirea plantelor.
Proiectul a fost încărcat pe GitHub, la această adresă: https://github.com/teominea/PlantWeatherStation
Planul inițial pentru senzorul de lumină era să folosesc un senzor UV. Am încercat să îl conectez, însă nu reușea să citească în mod corect semnalele. Apoi, am modificat pinii conectați (am crezut că acolo e problema), până când am simțit că iese un miros de fum din proiect și am zis ca e momentul sa renunț la aceasta idee 😊
Așadar, am ajuns să folosesc un fotorezistor prin care înregistrez doar intensitatea luminii, nu și a razelor UV.
Întrucât mi s-a părut că interacțiunea user-aplicație/proiect poate să fie îmbunătățită, am venit cu ideea de a crea un meniu disponibil în iterfața serială bluetooth din care utilizatorul poate alege fie să schimbe parametrii min și max ai senzorilor, fie să selecteze planta pentru care vrea să folosească stația, setându-se niște threshold-uri standard.
Chiar dacă nu am mai avut timp să implementez funcționalități extra, m-am gândit la câteva care ar putea adăuga un plus stației de plante, asfel încât atunci când se depășesc niște limite, să facă acțiuni spre a diminua efectul nociv asupra plantelor. Ex: e prea cald, activează prin WiFi aerul condiționat. Cred că acestea ar fi niște extensii drăguțe ale proiectului. Eu am implementat un prototip de „acțiune autonomă”, prin aprinderea led-ului atunci când lumina scade sub pragul maxim, lucru care poate fi generalizat pe obiecte mai mari decât un simplu led.
Crearea carcasei a fost o adevărată provocare întrucât pe tot parcursul pregătirilor am lucrat cu două breadboard-uri de 830 de puncte, motivul principal fiind că plăcuța avea pinii distanțați în mod eronat și nu încăpea pe un singur breadboard. Așadar, a fost nevoie să folosesc două cutii pentru a aduce la o formă mai lipsită de fire vizibile proiectul, fapt care a cauzat niște mici întreruperi ale semnalelor din cauza faptului că prelungirea firelor pentru componente a condus la destabilizarea semnalelor.