Autor: Dobrete Vlad-Gabriel
In realizarea acestui proiect, am pornit de la nevoia unui ingrijitor de plante care poate fi adaptat atat pentru gradini, cat si pentru case.
Ingrijitorul este capabil sa ude plantele si poate fi controlat atat prin bluetooth din telefon, cat si prin senzorul de umiditate care in momentul in care depaseste o limita inferioara, porneste procesul de udare. Acest proces este asistat pe tot parcursul de afisaj pe display al actiunilor executate, cat si de semnale acustice care anunta terminarea procesului.
Scopul este reprezentat de usurarea intretinerii plantelor deoarece, odata montat, ingrijitorul se va ocupa de acestea. Este un proiect foarte folositor, deoarece poate fi actionat si prin bluetooth(in cazul in care este nevoie sa plecam de acasa, si vrem sa ne asiguram ca plantele au destula apa, putem actiona si din telefon procesul).
De asemenea, mi s-a parut super intersanta ideea de cuplare a unui modul bluetooth, in paralel cu senzorul de umiditate(acest lucru mi-a produs cateva dificultati in realizarea proiectului).
Pentru a putea pune in functiune robotelul, conectam bateria pentru alimentare. Acesta va citi prin intermediul senzorului, valorile de umiditate ale solului(am testat chiar si cu o paine) si, daca scad sub valoarea de 500(aleasa de mine), water pump-ul va porni si va extrage apa din container. Pe langa aceasta functionalitate, modulul bluetooth, preia concomitent valori trimise de la aplicatia din telefon(daca suntem conectati), si in cazul in care dam comanda de pornire, water pump-ul va incepe sa scoata apa. Pe display sunt afisati toti pasii (start-watering-done watering), si, dupa ultimul pas, este actionat si buzzerul care anunta terminarea procesului. Proiectul este configurat astfel incat sa aiba grija de orice tip de planta. Astfel, in urma unui research, am observat faptul ca fosforul este necesar pentru plante. Water-pump-ul este capabil sa extraga apa combinata cu fosfor.
Pentru alcatuirea codului, am folosit biblioteca LiquidCrystal.h pentru a putea lucra cu display-ul, dar si string.h pentru lucrul cu stringuri.
La inceput, am setat toti pinii display-ului, iar in setup am facut initializarile pentru acesta(afisarea mesajului de bun venit).
Am setat si motorul, sa fie oprit in momentul pornirii deoarece starea acestuia ar trebui sa se modifice doar in momentul in care senzorul indica acest lucru sau comanda de la modulul bluetooth.
In loop, logica este segmentata in doua. Dupa cum am spus in descrierea proiectului, robotul poate actiona atat cu un “impuls” de la senzorul de umiditate, cat si prin bluetooth. Astfel, daca in orice moment al timpului, senzorul detecteaza o valoare a umiditatii sub 600, pompa porneste automat. Daca primim de la modulul bluetooth comanda “start”, pompa porneste de asemenea. Pe tot parcursul procesului, pe ecran apare mesajul “Done Watering” pentru a fii informati asupra terminarii proceslui, si, de asemenea, crestem si tone-ul buzzer-ului pentru a insoti display-ul.
Am avut grija prin functiile specifice de delay, sa opresc procesul pentru a nu se crea conflicte intre senzori. De asemenea, pentru a stii cand primim comanda de start, am alcatuit un string cu valorile primite de la aplicatia de pe telefon.
Poze:
Se poate observa mesajul de Welcome. Pe display sunt vizibile si mesaje din timpul procesului (ex. “Done Watering”).
In aceasta poza putem observa ca toate piesele sunt alimentate si functionale. De asemenea, display-ul este gol deoarece procesul nu a pornit.
Poza ce arata legaturile facute intre piese, cu preponderenta pentru display.
Poza este in intregime submedsibila. Apa este combinata de fosfor si este extrasa de pompa si eliminata prin tubul de cauciuc
Se poate observa impovizatia pentru asezarea tubului pentru a curge la tulpina plantei. A fost nevoie sa leg tubul si deoarece jetul de apa este destul de puternic.
Videoclipuri cu functionalitatea proiectului:
https://drive.google.com/drive/folders/1aCdTSJ41K9DBA087OS7uhB60aBDo7OOT?usp=sharing
A fost o experienta super tare. De la gasit varianta de inlocuire a pamantului cu painea , pana la apa cursa peste tot prin casa, am reusit sa creez un mini robotel capabil sa suplineasca timpul pierdut si grija pentru florile din casa si, de ce nu, chiar dintr-o gradina. Consider ca proiectul a fost destul de complex, fiind nevoie sa folosesc destul de multe piese iar codul mi-a pus dificultati din cauza faptului ca, odata conectat modulul bluetooth, pinii RX si TX nu functionau corespunzator(observam acest lucru din afisarile de pe display). Am reparat acest lucru din cod. Pe langa cunsotinte acumulate, m-am ales si cu un Plant CareTaker pe care il folosesc acum in casa. Recomand acest proiect oricui doreste sa inceapa un proiect fun si challenging in acelasi timp.
Cod : garden_caretaker.zip
Documentatia in format pdf : garden_caretaker.pdf
18.04.2021 - Comanda piese
22.04.2021 - 24.04.2021 Construit proiect(partea de Hard) + lipit
25.04.2021 - 26.04.2021 Alcatuire cod
03.05.2021 - 04.05.2021 Completare pagina wiki
https://www.optimusdigital.ro/ro/electronica-de-putere-module-cu-releu/874-modul-releu-cu-un-canal-comandat-cu-5-v.html - pentru utilizare a releului
https://www.instructables.com/Remotely-Control-LED-using-HC-05-Bluetooth-Arduino/ - pentru conectare modul bluetooth
https://www.arduino.cc/en/Tutorial/LibraryExamples/HelloWorld - pentru conectare display.
https://www.tutorialspoint.com/arduino/arduino_dc_motor.htm - pentru conectare water pump
https://www.circuitstoday.com/arduino-soil-moisture-sensor - pentru conectare senzor umiditate