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 terminal 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. Placuta comunica cu modulul Bluetooth prin USART.
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.
M-am distrat lucrand la proiect si ma bucur ca am reusit sa fac un lucru util cu aplicabilitate in viata de zi cu zi. Mi-a placut experienta de a face un proiect palpabil, imbinand software-ul cu hardware-ul si pot spune ca a fost cel mai interesant proiect din facultate de pana acum. Partea mai dificila a fost rezolvarea “turbarii” placutei cauzata de o interferenta cu bobina interna a electrovanei. Am incercat diferite solutii, de la prelungirea firelor ei ca sa maresc distanta fata de placuta (pana la 2.5m), la o tentativa esuata de ecranare, in final mergand totul bine numai dupa adaugarea condensatoarelor care elimina problema arcului electric generat de deconectarea electrovanei de la baterie. Desi am trecut prin momente de panica in care nu stiam ce sa-i fac sa mearga, mi-a placut sa fac pe detectivul si sa rezolv problema. Concluzia: m-am distrat jucandu-ma cu placuta si parca as repeta experienta :)