This shows you the differences between two versions of the page.
pm:prj2025:avaduva:andreea_irina.iurea [2025/05/11 23:36] andreea_irina.iurea [Descriere] |
pm:prj2025:avaduva:andreea_irina.iurea [2025/05/25 23:31] (current) andreea_irina.iurea [Software Design] |
||
---|---|---|---|
Line 55: | Line 55: | ||
Descrierea codului aplicației: | Descrierea codului aplicației: | ||
* Dezvoltat în Arduino IDE. | * Dezvoltat în Arduino IDE. | ||
- | * Folosește librării standard: `Wire.h` pentru I2C, `LiquidCrystal_I2C.h` pentru LCD, `EEPROM.h` pentru memoria internă. | + | * Folosește librării standard: `Wire.h` pentru I2C, `LiquidCrystal_I2C.h` pentru LCD, `EEPROM.h` pentru memoria internă (funcționalitate în curs de implementare). |
- | * Structura codului include: generarea secvenței aleatoare, comparația cu răspunsul utilizatorului, control LED/buzzer cu PWM, citirea luminii ambientale cu `analogRead()`, salvarea scorului maxim în EEPROM. | + | * Structura codului include: generarea secvenței aleatoare, comparația cu răspunsul utilizatorului, control LED/buzzer cu PWM, citirea luminii ambientale cu `analogRead()`. Salvarea scorului maxim în EEPROM urmează să fie implementată. |
- | * Se folosesc funcții dedicate pentru fiecare responsabilitate: `afiseazaScor()`, `genereazaSecventa()`, `citesteButon()`, `salveazaScor()`, etc. | + | * Se folosesc funcții dedicate pentru fiecare responsabilitate: `afiseazaScor()`, `genereazaSecventa()`, `citesteButon()`, `citesteLumina()`, etc. |
+ | * Motivația librăriilor: `Wire.h` și `LiquidCrystal_I2C.h` permit comunicare eficientă cu LCD-ul, economisind pini. `EEPROM.h` va fi folosită pentru memorarea scorului între sesiuni. | ||
+ | * Element de noutate: ajustarea automată a intensității LED-urilor în funcție de lumina ambientală, pentru o mai bună vizibilitate. | ||
+ | * Justificarea funcționalităților: PWM, analogRead(), I2C și EEPROM sunt funcții studiate în laborator și aplicate eficient în proiect. | ||
+ | * Validarea s-a făcut incremental, testând fiecare componentă individual și apoi integrat. Sistemul a fost verificat în laborator cu scenarii reale de utilizare. | ||
+ | * Calibrarea senzorului de lumină s-a făcut prin testare empirică în medii diferite, mapând valorile analogice la intensități LED corespunzătoare. | ||
+ | * Optimizări: bucla `loop()` a fost simplificată, iar scrierea în EEPROM va fi condiționată pentru a evita uzura (după implementare). | ||
+ | * Video demonstrativ care prezintă toate funcționalitățile este disponibil aici: https://drive.google.com/file/d/1tcDgyCIGnMrl8GKS59UWfrjK4pz0HKyH/view?usp=share_link | ||
</note> | </note> | ||