This shows you the differences between two versions of the page.
pm:prj2024:rvirtan:smart-plant [2024/04/28 21:42] victor.marin2811 created |
pm:prj2024:rvirtan:smart-plant [2024/05/24 21:32] (current) victor.marin2811 |
||
---|---|---|---|
Line 7: | Line 7: | ||
<note tip> | <note tip> | ||
- | Prototipul initial va transporta plante de dimensiune redusa :). | + | Prototipul initial va transporta plante de dimensiuni reduse :). |
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | {{ :pm:prj2024:rvirtan:diagrama.png?700}} | ||
+ | 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. | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | In realizarea proiectului se vor folosi: | ||
+ | |||
+ | * Robotel cu 4 Roţi compus din motor, 4 roti si 2 baterii | ||
+ | * Arduino UNO R3 | ||
+ | * Fotorezistor | ||
+ | * Modul bluetooth | ||
+ | * Pompa de apa | ||
+ | * Baterie 9V | ||
+ | * Releu | ||
+ | * Driver de motor reversibil | ||
+ | |||
+ | <note tip>Mai jos se poate vedea stadiul hardware al proiectului. | ||
+ | </note> | ||
+ | |||
+ | {{ :pm:prj2024:rvirtan:hardware1.jpg?600}} | ||
+ | |||
+ | {{ :pm:prj2024:rvirtan:hardware2.jpg?600}} | ||
+ | |||
+ | {{ :pm:prj2024:rvirtan:hardware3.jpg?600}} | ||
+ | |||
+ | <note tip> | ||
+ | </note> | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | 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: | ||
+ | * controlForwardMotion si controlPump - au rolul de a actiona pompa si motorul la momentul oportun | ||
+ | * readSensor - cietste datele ce vin de la senzorul de lumina (fotorezistorul) | ||
+ | |||
+ | 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. | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||