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

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

pm/prj2023/razvans/monitorizare_planta.txt · Last modified: 2023/05/31 22:47 by stefanita.ionita
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