Coadă Vlad 332CB
Proiectul constă într-o instalație de un panou fotovoltaic care are mobilitatea și funcțiunea de a se roti în spațiu către sursa de lumină (soarele), oferind în același timp date despre curent din panoul solar.
Instalație este plasată pe o suprafața plană și dură, astfel încât să se poată agăța de ea cele 2 servomotoare, unul peste celălalt, care vor asigura mobilitatea acestuia. Primul servo va roti panoul dreapta-stânga, al 2 servo va roti sus jos, asigurând astfel o mobilitate sporită a instalației solare. Această rotire se datorează datelor obținute de cei 4 sensori de lumină plasați în partea de sus a panoului. O altă funcționalitate este și preluarea datelor de voltaj din panoul solar de către un sensor de curent.
Lista de piese:
Proiectul este realizat in Arduino IDE. Am folosit urmatoarele biblioteci auxiliare: <LiquidCrystal_I2C.h> <Wire.h> <Adafruit_INA219.h> <Servo.h>
Programul este structurat în cele 2 funcții, void setup() și void loop(). Rotatiile servomotoarelor se realizeaza intr-o functie aparte numita automaticsolartracker, apelata mai tarziu din loop(). Inainte de functii mi-am declarat variabilele de care am nevoie: servomotoarele, ina, valorile citite de pe LDR, limitele stabilite pentru servo. In general, in setup() am setat pinii corespunzatori servomotoarelor, butonului de resetare a panoului, precum si plasarea unei pozitii initiale a panoului astfel incat sa previn situatiile de comportament instabil la pornirea actiunii. In metoda loop() am asigurat logica readucerii panoului in starea default in caz de reset; la fiecare 2 secunde extrag datele despre curent; apelez metoda de rotatie a servomotoarelor. Aceasta consta in preluarea datelor de la cei 4 sensori de lumina, care sunt niste date analogice, apoi calculez o valoare medie a datelor, si rotesc servo cu aceste date in cazul in care acestea nu depasesc limitele.
Rezultatele obtinute sunt rotirea cu succes a panoului dupa lumina, care poate fi si lumina lanternei telefonului mobil.
Arhiva cu cod: