Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:florin.stancu:tudor_vasile.stafi [2026/05/24 03:30]
tudor_vasile.stafi [Software Design]
pm:prj2026:florin.stancu:tudor_vasile.stafi [2026/05/24 03:51] (current)
tudor_vasile.stafi [Software Design]
Line 36: Line 36:
  
 <note tip> <note tip>
-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. 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:​ 
 + 
 + - Algoritmul de Tracking Solar: Logica principală se bazează pe citirea celor 4 senzori (TEMT6000) și calcularea mediilor pe axe: axa verticală (media de sus vs media de jos) și axa orizontală (stânga vs. dreapta). Sistemul compară aceste medii și, dacă diferența depășește o toleranță ​ definită (pentru a preveni oscilațiile),​ ajustează poziția panoului. 
 + 
 + - Controlul Actuatoarelor (PWM): S-a implementat generarea de semnale Fast PWM folosind Timer0. Pozițiile servomotoarelor sunt controlate prin   ​modificarea directă a regiștrilor de comparare OCR0A și OCR0B. 
 + 
 + - 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 =====
  
pm/prj2026/florin.stancu/tudor_vasile.stafi.1779582618.txt.gz · Last modified: 2026/05/24 03:30 by tudor_vasile.stafi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0