This is an old revision of the document!
Sistem inteligent pentru monitorizarea plantelor
Introducere
Cum recent mi-am adus in familie cateva plante, am observat ca din cand in cand mai uit sa le ud. Astfel, mi-a venit ideea de a crea un sistem de monitorizare al umiditatii plantelor, cat si a temperaturii din incapere pentru a afla momentul optim pentru udare.
Acest proiect a trezit in mine o dorinta de a implementa ceva ce va fi in folosul meu in viitor.
Descriere generală
Imi propun sa implementez acest sistem de monitorizare al unei plante ce consta in:
- Afisarea datelor de la senzori pe un LCD;
- Conectarea prin Bluetooth pe telefon care o sa permita comenzi (“show all” si va arata in aplicatia de pe telefon toate datele primite de la senzori)
- Avertizarea (sonora si/sau vizuala) in cazul in care nivelul umiditatii atinge un nivel critic;
- Optiunea de a uda planta dintr-un rezervor (ce este tinut sub control de o valva);
- Optiunea anterioara folosind aplicatia mobila.
Pentru inceput, sistemul o sa afiseze datele (umiditatea, temperatura camerei, stadiul in care este planta, ultima data cand a fost udata planta). In cazul in care umiditatea nu este de ajuns, un buzzer va suna SAU/SI un led se va aprinde in moduri diferite in functie de nivel. Pe ecran vor fi afisate, de asemenea, si niste mesaje pentru a usura utilizatorul (nivel de umiditate scazut, UDA PLANTA, samd.).
Prin conectarea prin Bluetooth, utilizatorul va putea avea datele acestea pe telefon.
Udarea plantei se poate face manual sau folosind un buton care deschide valva rezervorului.
Hardware Design
Lista de piese:
Arduino Uno R3 ATmega328P
Breadboard 400 punctE
Modul cu senzor umiditate sol
Senzor de temperatură DHT11
Ecran LCD 1602 IIC
Modul Bluetooth HC-05
Fire
Releu
Mini-pompa submersibila
Rezistori 1k, 2k ohmi
Software Design
Descrierea codului aplicaţiei (firmware):
Arduino IDE, Android Studio
ezButton, ezOutput (ArduinoGetStarted), LiquidCrystal_I2C, DHT (Arduino)
Arduino:
Am implementat functionalitatile in fisierul Proiect/plant_monitor/plant_monitor.ino
Se ocupa de afisarea datelor primite de la senzorul DHT11 pe LCD
Dupa 2 secunde, LCD-ul afiseaza un mesaj in functie de umiditatea solului (alt senzor)
Implementeaza interfata Bluetooth pentru a realiza comunicatia cu un alt device
Android:
MainActivity se ocupa de afisarea butoanelor (Clear, Plot Graph, Search devices care arata toate dispozitivele asociate cu telefonul si Connect to HC-05 care realizeaza efectiv conexiunea)
GraphActivity afiseaza 3 grafice (din pacate doar cu date hardcodate, deoarece nu am apucat sa implementez logica pentru parsarea datelor primite de la Arduino)
ConnectThread deschide socket-ul pentru conexiunea Bluetooth
ConnectedThread parseaza datele primite de la Arduino si le afiseaza
Rezultate Obţinute
Am reusit afisarea pe ecran a datelor
Am creat o aplicatie mobila folosind Android Studio (Java) ca sa ma pot conecta la modulul HC-05 si sa primesc date de la Arduino
Am aflat prea tarziu ca am nevoie de un adaptor de 12V pentru releu, astfel nu pot sa pornesc pompa:)
Am incercat sa plotez niste grafice folosind datele primite de la Arduino, insa nu am mai avut timp :c
Concluzii
Mi-a placut foarte mult sa lucrez la acest proiect, recent dezvoltand pasiunea pentru plante
Am intampinat cateva probleme, dar din pacate nu am avut destul timp sa le rezolv, astfel raman cu o usoara dezamagire ca nu am finalizat proiectul asa cum mi-as fi dorit
Am invatat si inteles anumite concepte pe care le-am reluat din laboratoare
Per total o experienta foarte frumoasa :D
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
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.
Jurnal
10.05.2023 - Comanda piese
12.05.2023 - Au ajuns piesele
15.05.2023 - Conectare senzori
18.05 - Conectare LCD + comanda piese (din nou)
29.05 - Bluetooth a functionat!!!!
30.05 - Finalizare proiect
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF