Differences

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

Link to this comparison view

pm:prj2024:mdinica:iustina.caramida [2024/05/27 11:01]
iustina.caramida [4. Algoritmi și Structuri Implementate]
pm:prj2024:mdinica:iustina.caramida [2024/05/27 11:14] (current)
iustina.caramida [Software Design]
Line 49: Line 49:
 </​note>​ </​note>​
  
 +Elementul de noutate al acestui proiect constă în integrarea controlului precis al unui panou solar utilizând senzori LDR pentru a maximiza eficiența energetică. Utilizarea întreruperilor pentru a realiza temporizări precise și gestionarea stării panoului printr-un buton de control reprezintă o abordare inovatoare pentru un sistem de urmărire a soarelui simplu și eficient.
 +
 +În cadrul proiectului au fost utilizate următoarele funcționalități:​
 +
 +    * **GPIO (General Purpose Input/​Output)**:​ Utilizat pentru a controla pinul LED-ului și a citi starea butonului, esențial pentru interacțiunea hardware-software.
 +    * **UART (Universal Asynchronous Receiver-Transmitter)**:​ Utilizat pentru comunicarea serială, permite monitorizarea și debug-ul sistemului prin afișarea mesajelor în Serial Monitor.
 +    * **Interrupții**:​ Folosite pentru a implementa o temporizare precisă folosind Timer2, necesară pentru funcțiile de întârziere fără a bloca execuția.
 +    * **Timere**: Timer2 a fost utilizat pentru a genera întreruperi la intervale precise de timp, esențiale pentru temporizările exacte în funcția delay_ms().
 +    * **ADC (Analog-to-Digital Converter)**:​ Folosit pentru a citi valorile analogice de la senzorii LDR și a le converti în valori digitale utilizabile în algoritmul de control al panoului.
 +
 +Calibrarea senzorilor LDR a fost realizată prin determinarea valorilor minime și maxime de lumină detectate în diferite condiții de iluminare. Pragul de eroare (error) și valoarea epsilon (eps) au fost ajustate empiric pentru a asigura că panoul se poziționează corect în funcție de diferențele detectate între cei doi senzori.
 +
 +Optimizările au fost realizate în următoarele moduri:
 +    * **Utilizarea întreruperilor și a Timer2**: Acest lucru a permis implementarea unei funcții de întârziere precise (delay_ms()) fără a bloca execuția altor părți ale codului, optimizând astfel eficiența și responsivitatea sistemului.
 ===== Mediul de Dezvoltare ===== ===== Mediul de Dezvoltare =====
 Codul Arduino este dezvoltat utilizând mediul Arduino IDE (Integrated Development Environment),​ un mediu software folosit pentru a scrie, compila și încărca codul pe plăcile de dezvoltare Arduino. Arduino IDE oferă o interfață simplă și intuitivă, suportând limbajul de programare C/C++ cu adăugiri specifice platformei Arduino. IDE-ul include un editor de cod, un monitor serial pentru debugging și multe alte instrumente utile pentru dezvoltarea de proiecte embedded. Codul Arduino este dezvoltat utilizând mediul Arduino IDE (Integrated Development Environment),​ un mediu software folosit pentru a scrie, compila și încărca codul pe plăcile de dezvoltare Arduino. Arduino IDE oferă o interfață simplă și intuitivă, suportând limbajul de programare C/C++ cu adăugiri specifice platformei Arduino. IDE-ul include un editor de cod, un monitor serial pentru debugging și multe alte instrumente utile pentru dezvoltarea de proiecte embedded.
pm/prj2024/mdinica/iustina.caramida.1716796919.txt.gz · Last modified: 2024/05/27 11:01 by iustina.caramida
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