This is an old revision of the document!
Autor: Damian Stefania-Dorina
Grupa: 336CC
Proiectul consta in realizarea unui sistem de programare a irigarii solarului pe care utilizatorul o poate seta cu o anumita periodicitate si durata, incepand dupa un anumit timp. Acest lucru se poate realiza prin Bluetooth de pe telefon, prin intermediul unei aplicatii cu termial prin care se pot trimite mesaje cu un anumit format. Irigarea se mai poate seta si printr-un buton de start care va rula un program predefinit sau se poate opri printr-un buton de stop. Placuta Arduino preia informatia si comanda o electrovana prin intermediul unor relee.
Scopul proiectului este de a usura procesul de ingrijire a plantelor din solar minimizand interventia umana. Astfel, un agricultor (sau oricine vrea sa-si cultive mancarea) poate pleca de acasa fara sa-si mai faca griji ca plantele se vor ofili in absenta lui sau poate sa se ocupe de altceva fara sa isi mai zica “Aoleu, iar am uitat sa opresc apa! Hai ca am inecat rosiile…”.
Avand solar in curte, am constatat ca atunci cand plecam de acasa fie ducem grija plantelor si nu plecam pentru mult timp, fie le lasam in grija altcuiva. Astfel, m-am gandit sa ne facem viata mai usoara prin automatizarea irigarii plantelor.
Raspunsul este simplu: “Hakuna matata”. Mergi linistit in vacanta si cand te intorci mananci o rosie din productia proprie si independenta.
Pe parcursul rularii, programul se poate afla in una dintre urmatoarele stari:
LED-ul RGB indica starea curenta: stins = idle, galben = offset waiting, rosu = waiting, verde = working. La schimbarea starii programului, pinii la care sunt conectate canalele rosu si verde ale LED-ului isi schimba valoarea corespunzator.
Pentru comandarea irigarii, utilizatorul poate folosi telefonul pentru a putea transmite informatia prin Bluetooth sau, pentru a porni irigarea pe loc pentru o durata implicita, apasa butonul corespunzator.
Cand soseste momentul irigarii sau opririi acesteia, placuta Arduino comanda electrovana prin relee. Electrovana se deschide si se inchide cand primeste impulsuri electrice, de polaritati opuse. Cele doua LED-uri rosii au rol in vizualizarea impulsurilor.
Pentru a retine timpii aferenti starilor programului folosesc variabilele globale: offset_minutes, waiting_minutes, working_minutes care sunt setate corespunzator in urma unei comenzi Bluetooth sau prin butoane.
Utilizatorul poate trimite 3 tipuri de mesaje modulului Bluetooth:
Comenzile “ajutor” si “stop” sunt case insensitive. Placuta Arduino raspunde la mesajul primit in functie de tipul acestuia. In cazul programarii, se verifica corectitudinea formatului si a valorilor trimise. Periodicitatea (timp_asteptare) cu valoarea zero inseamna ca se doreste irigarea o singura data.
Pentru a tine evidenta timpului care trece, ma folosesc de Timer1 configurat in mod CTC, cu intreruperea aferenta activata si care are loc o data la o secunda. La fiecare intrare in intrerupere, se incrementeaza numarul de secunde care au trecut si eventual de minute. La trecerea unui minut, se verifica daca a trecut timpul asociat starii curente, caz in care se schimba starea programului si se opreste timer-ul daca programarea consta intr-o singura irigare.