Differences

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

Link to this comparison view

pm:prj2024:vstoica:robert_daniel.fota [2024/05/27 02:44]
robert_daniel.fota [Software Design]
pm:prj2024:vstoica:robert_daniel.fota [2024/05/27 03:03] (current)
robert_daniel.fota [Download]
Line 83: Line 83:
  
 Librării și Surse 3rd-Party Librării și Surse 3rd-Party
 +
 Pentru acest proiect, au fost utilizate următoarele biblioteci: Pentru acest proiect, au fost utilizate următoarele biblioteci:
  
-Servo.h: Pentru controlul precis al servomotoarelor. Aceasta bibliotecă simplifică atașarea și controlul servomotoarelor prin funcții ușor de utilizat. +  * Unordered List ItemServo.h: Pentru controlul precis al servomotoarelor. Aceasta bibliotecă simplifică atașarea și controlul servomotoarelor prin funcții ușor de utilizat. 
-LiquidCrystal.h: Pentru operarea display-ului LCD. Această bibliotecă permite inițializarea și controlul unui ecran LCD cu 16 pini. +  * Unordered List ItemLiquidCrystal.h: Pentru operarea display-ului LCD. Această bibliotecă permite inițializarea și controlul unui ecran LCD cu 16 pini. 
-LiquidCrystal_I2C.h:​ Pentru operarea display-ului LCD prin protocolul I2C, reducând numărul de pini necesari pentru conexiune.+
 Algoritmi și Structuri Implementate Algoritmi și Structuri Implementate
 În cadrul firmware-ului,​ sunt implementate următoarele algoritmi și structuri: În cadrul firmware-ului,​ sunt implementate următoarele algoritmi și structuri:
  
-Control ​PID Simplificat:​ Pentru ajustarea poziției panoului solar, se utilizează un algoritm simplificat de control bazat pe diferențele de intensitate luminoasă detectate de fotorezistori. +  * Unordered List ItemControl ​PID Simplificat:​ Pentru ajustarea poziției panoului solar, se utilizează un algoritm simplificat de control bazat pe diferențele de intensitate luminoasă detectate de fotorezistori. 
-Control ​PWM: Pentru controlul intensității LED-urilor în funcție de curentul produs de panoul solar. +  * Unordered List ItemControl ​PWM: Pentru controlul intensității LED-urilor în funcție de curentul produs de panoul solar. 
-Intreruperi ​Timer: Pentru realizarea unor operații periodice (cum ar fi actualizarea afișajului LCD) folosind Timerul 2, evitând conflictele cu biblioteca Servo. +  * Unordered List ItemIntreruperi ​Timer: Pentru realizarea unor operații periodice (cum ar fi actualizarea afișajului LCD) folosind Timerul 2, evitând conflictele cu biblioteca Servo. 
-Comunicare ​UART: Pentru trimiterea datelor despre performanța panoului solar și alte informații utile prin Serial Monitor pentru debugging.+  * Unordered List ItemComunicare ​UART: Pentru trimiterea datelor despre performanța panoului solar și alte informații utile prin Serial Monitor pentru debugging.
 Surse și Funcții Implementate Surse și Funcții Implementate
 Funcții principale din cadrul codului: Funcții principale din cadrul codului:
- 
 setup(): setup():
  
-Inițializează servomotoarele și le setează la poziția inițială. +  * Inițializează servomotoarele și le setează la poziția inițială. 
-Configurează pini LED ca ieșiri. +  ​* ​Configurează pini LED ca ieșiri. 
-Inițializează LCD-ul și afișează un mesaj de pornire. +  ​* ​Inițializează LCD-ul și afișează un mesaj de pornire. 
-Inițializează UART pentru debugging. +  ​* ​Inițializează UART pentru debugging. 
-Configurează Timerul 2 pentru întreruperi periodice.+  ​* ​Configurează Timerul 2 pentru întreruperi periodice.
  
 +loop():
  
-===== Rezultate Obţinute =====+  * Verifică dacă flag-ul de temporizare este setat pentru a actualiza datele și afișajul. 
 +  * Citește valorile fotorezistorilor și ajustează poziția servomotoarelor pentru a maximiza expunerea la lumină. 
 +  * Controlează intensitatea LED-urilor în funcție de curentul produs de panoul solar. 
 +  * Actualizează afișajul LCD cu procentajul și curentul produs de panoul solar. 
 +  * Trimite date prin UART pentru debugging.
  
-<note tip> +ISR (Interrupt Service Routine):
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+  * Funcția ISR pentru Timerul 2, setată pentru a se declanșa la fiecare 1 ms, și pentru a seta un flag la fiecare secundă.
  
-===== Download =====+COD:​{{:​pm:​prj2024:​vstoica:​cod_solartracker.zip|}} 
 +FIXME
  
-<note warning> 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). 
  
-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**. +===== Concluzii =====
-</​note>​+
  
-===== Jurnal ​=====+===== Download ​=====
  
-<note tip> +{{:​pm:​prj2024:​vstoica:​fotarobert.zip|}}
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2024/vstoica/robert_daniel.fota.1716767042.txt.gz · Last modified: 2024/05/27 02:44 by robert_daniel.fota
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