This is an old revision of the document!
Grupa: 331CB
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.
Lista piese:
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:
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:
Ultiemele 2 prezentate trimit mesaje catre Arduino.
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.