Principalele motive pentru care plantele de apartament se usuca si mor este lipsa de lumina si lipsa apei. Pentru a preveni astfel de evenimente nefericite am conceput dispozitivul AutoPlantaInatorul pentru a avea grija de plantele de apartament chiar si atunci cand lumina soarelui este blocata de copaci sau alte cladiri.
Proiectul presupune implementarea unei mici masinute ce poate transporta o planta la stanga si la dreapta pe suprafata unui pervaz in functie de lumina ce vine din exterior pe o distanta prestabilita in functie de dimensiunea pervazului. De asemenea AutoPlantaInatorul este prevazuta cu irigare automata prin comanda vocala.
Utilizatorul poate trimite comanda vocala din aplicatie pentru a uda planta. Planta va incepe deplasarea atunci cand fotorezistorul va detecta ca lumina a scazut sub pragul admis. Deplasarea se face prima data inainte 50 cm. Daca lumina din noua locatie s-a imbunatatit atunci planta ramane pe pozitie. Daca nu, aceasta va merge inapoi 100 de cm in speranta ca va gasi lumina peste pragul impus. Daca nici aici nu este suficienta lumina, aceasta revine la pozitia initiala.
In realizarea proiectului se vor folosi:
Project link: https://github.com/marin-Victor/AutoPlantaInatorul
Am inceput prin crearea unei structuri de baza care sa imi separe functionalitatiile in functie de ce trebuie actionat intre motor si pompa. Acest lucru permite ca actiunile sa se intample in functie de intrari si nu continuu.
Ca implementare propriu-zisa, am creat cateva functii pentru a putea gestiona usor codul:
Desi in prototipul initial am dorit sa utilizez un driver de motoare pentru a avea miscare in 2 directii, am fost constrans de faptul ca driverul nu functioneaza in modul dorit, asa ca am adoptat aceasi solutie ca in cazul pompei si anume utilizarea de releu pentru actionare pe o singura directie. Din acest motiv dimensiunea codului este una redusa, neavand elemente sofisticate de circuit.
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.