This shows you the differences between two versions of the page.
|
pm:prj2026:florin.stancu:tudor_vasile.stafi [2026/05/24 03:34] tudor_vasile.stafi [Software Design] |
pm:prj2026:florin.stancu:tudor_vasile.stafi [2026/05/24 03:51] (current) tudor_vasile.stafi [Software Design] |
||
|---|---|---|---|
| Line 38: | Line 38: | ||
| 1. Mediu de dezvoltare: Aplicația a fost dezvoltată și compilată folosind (VSCode) împreună cu extensia PlatformIO. | 1. Mediu de dezvoltare: Aplicația a fost dezvoltată și compilată folosind (VSCode) împreună cu extensia PlatformIO. | ||
| - | 2. | + | 2. Librarii |
| + | |||
| + | - <avr/io.h> | ||
| + | |||
| + | - <util/delay.h> | ||
| + | |||
| + | - <avr/pgmspace.h>: Pentru stocarea fontului OLED-ului direct în memoria Flash, economisind astfel memoria RAM limitata | ||
| 3. Algoritmi şi structuri implementate: | 3. Algoritmi şi structuri implementate: | ||
| Line 47: | Line 54: | ||
| - Implementarea protocolului TWI (Two-Wire Interface) direct pe regiștri pentru a trimite comenzi și date către display-ul OLED SSD1306. | - Implementarea protocolului TWI (Two-Wire Interface) direct pe regiștri pentru a trimite comenzi și date către display-ul OLED SSD1306. | ||
| + | |||
| + | 4. Laboratoare folosite: | ||
| + | |||
| + | Laboratorul 0: GPIO | ||
| + | Controlul pinilor fizici ai plăcii. L-am folosit pentru a seta pinii ca intrări sau ieșiri | ||
| + | |||
| + | Laboratorul 3: Timere. PWM | ||
| + | Am folosit generarea de semnale PWM pentru a controla cele două servomotoare | ||
| + | |||
| + | Laboratorul 4: ADC | ||
| + | Am folosit conversia analog-digitală (ADC) pentru a citi semnalele de la cei 4 senzori de lumină | ||
| + | |||
| + | Laboratorul 6: I2C | ||
| + | Am folosit protocolul I2C ca să pot comunica cu display-ul folosind doar două fire (SDA și SCL), trimițând datele și valorile senzorilor pentru a fi afișate în timp real | ||
| </note> | </note> | ||
| <note tip> | <note tip> | ||
| Arhiva proiectului: | Arhiva proiectului: | ||
| - | {{:pm:prj2026:florin.stancu:proiectpm.zip|}} | + | {{:pm:prj2026:florin.stancu:stafi_tudor.zip|}} |
| </note> | </note> | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| <note tip> | <note tip> | ||
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Proiectul a fost finalizat cu succes, obținând următoarele rezultate: |
| + | |||
| + | Funcționarea algoritmului de tracking: Proiectul reușește să urmărească precis o sursă de lumină (ex. o lanternă) pe ambele axe (sus-jos și stânga-dreapta). Sistemul se oprește atunci când toți cei 4 senzori primesc o cantitate egală de lumină. | ||
| + | |||
| + | Protecția mecanică: Datorită limitelor impuse din soft, brațele servomotoarelor nu depășesc cursa fizică permisă de asamblare, prevenind astfel blocarea sau arderea motoarelor. | ||
| + | |||
| + | Interfața cu utilizatorul: Ecranul OLED afișează în timp real și fără întârzieri valorile brute citite de la senzori și unghiul actual al motoarelor, fiind un instrument excelent pentru debug și demonstrație. | ||
| </note> | </note> | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | Realizarea acestui „Tracker Solar” a fost o experiență practică buna, prima de acest gen. | ||
| + | |||
| + | Principalele concluzii: | ||
| + | |||
| + | Importanța calibrării: Am învățat că valorile pur matematice din cod trebuie mereu ajustate la realitatea fizică. | ||
| + | |||
| + | Zgomotul senzorilor: Introducerea unei variabile de „toleranță” a fost esențială. Fără ea, sistemul ar fi oscilat continuu la cele mai mici schimbări de umbră. | ||
| + | |||
| + | Avantajul lucrului la nivel de regiștri: Deși programarea directă a regiștrilor în mediul PlatformIO/AVR-GCC este mai complexă decât utilizarea librăriilor predefinite Arduino, aceasta oferă un control mult mai fin și stabil asupra funcțiilor critice (precum generarea semnalului PWM). | ||
| + | Dezvoltări viitoare: Ca direcții de îmbunătățire pe viitor, sistemul ar putea beneficia de atașarea unui panou solar real care să încarce un acumulator în timp ce urmărește soarele. | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||