Smart Pot

Autor: Toma Andrei

Grupa: 331CB

Introducere

Proiectul consta intr-un ghiveci inteligent care are ca scop automatizarea unei rutine comune, cea de ingrijire a plantelor din casa, asigurand un nivel optim de lumina cat si o umiditate potrivita a solului. Anumite caracterisitici (umiditatea dorita a solului, starea LED-urilor) vor putea fi setate prin intermediul telefonului conectat prin Bluetooth la Arduino.

Descriere generală

Hardware Design

Lista piese:

  • Arduino UNO
  • Modul Bluetooth
  • Pompa submersibila de apa
  • LED-uri UV
  • Senzor de umiditate
  • Breadboard
  • Releu
  • Baterie
  • Suport de baterie
  • Rezistente

Software Design

Pentru dezvoltarea codului Arduino am folosit Arduino IDE. Aplicatia prin care ne conectam la arduino am facut-o folosind MIT App Inventor 2, un mediu prietenos pentru a crea aplicatii simple rapid.

De asemenea, am folosit biblioteca AltSoftSerial pentru comunicarea intre Arduino si aplicatie prin modulul bluetooth. Cu biblioteca aceasta se va comunica pe pinii 8 si 9.

Implementarea este una destul de simpla si eficienta si poate fi impartita in mai multi pasi:

1) Ascultarea pe seriala definita pentru bluetooth: De fiecare data cand primeste un byte pe seriala de comunicare cu modulul bluetooth va face ceva in functie de byte-ul primit:

  • '0': opreste LED-urile
  • '1': porneste LED-urile
  • '4': mareste procentajul de umiditate dorit in sol cu 5%
  • '5': scade procentajul de umiditate dorit in sol cu 5%

2) Strategia de irigare automata: Am configurat timer-ul 2, astfel incat sa se intre pe rutina de intrerupere odata la 16 ms. Asta inseamna ca trebuie sa intre in rutina de intrerupere de aproximativ 63 de ori pentru a numara o secunda. De fiecare data cand 60 de secunde au trecut se seteaza variabila can_irrigate pe true din rutina de intrerupere.

Mai departe in loop() cand can_irrigate este setat pe true se va citi cu analogRead valoarea de pe pinul A0 si voi mapa aceasta valoare la un procentaj prin intermediul functiei map(moisture, 1023, 250, 0, 100) am observat ca si daca este foarte umed valoarea nu se va duce la 0 va ramane in jur de 300 si de aia valoarea minima am considerat-o 250. Daca procentajul citit este mai mic decat cel dorit se va porni o irigare de 3 secunde si can_irrigate va fi din nou setat pe false.

3) Aplicatia bluetooth: Aplicatia are o interfata simpla si intuitiva. Pasii pentru a face o demonstratie de pornire a ledurilor si de incrementare a umiditatii dorite sunt urmatorii:

  • Scanare module bluetooth din apropiere
  • Selectare si conectare la unul dintre cele gasite (BT05 este numele modulului meu)
  • Apasare pe butoanele ON/OFF pentru a controla LED-urile
  • Apasare pe butoanele INCREMENT/DECREMENT pentru a controla umiditatea dorita a solului

Ultiemele 2 prezentate trimit mesaje catre Arduino.

Rezultate Obtinute

Concluzii

Proiectul a fost interesant si pe cat parea de usor au fost intampinate destul de multe probleme:

  • Senzorii de umiditate nu erau prea exacti
  • Releul nu a functionat exact cum ma asteptam
  • Voltajul nu a fost suficient pentru pompa de apa
  • Bluetooth-ul nu a fost deloc usor de configurat cum ma asteptam.

Download

Jurnal

  • 25.04.2022: Comanda piese
  • 07.05.2022: Creare pagina Wiki (schema bloc + descriere generala)

Bibliografie/Resurse

pm/prj2022/dene/smartpot.txt · Last modified: 2022/06/01 14:13 by andrei.toma1009
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