This shows you the differences between two versions of the page.
pm:prj2025:avaduva:stefania.draghici [2025/05/27 00:19] stefania.draghici [Scheletul Proiectului și Interacțiunea Funcționalităților] |
pm:prj2025:avaduva:stefania.draghici [2025/05/28 18:48] (current) stefania.draghici [Rezultate Obţinute] |
||
---|---|---|---|
Line 122: | Line 122: | ||
== Funcționalități Implementate == | == Funcționalități Implementate == | ||
- | - **Sistem de afișare animat** pe OLED SSD1306 | + | * **Sistem de afișare animat** pe OLED SSD1306 |
- | - **Interfață grafică completă** cu animații pentru toate stările | + | * **Interfață grafică completă** cu animații pentru toate stările |
- | - **Sistem de management stări** (baby/adult cu tranziție automată) | + | * **Sistem de management stări** (baby/adult cu tranziție automată) |
- | - **Interacțiune prin butoane** (Play, Feed, Reset cu debounce) | + | * **Interacțiune prin butoane** (Play, Feed, Reset cu debounce) |
- | - **Senzor de lumină ambientală** cu detecție automată zi/noapte | + | * **Senzor de lumină ambientală** cu detecție automată zi/noapte |
- | - **Feedback audio** prin buzzer pentru toate acțiunile | + | * **Feedback audio** prin buzzer pentru toate acțiunile |
- | - **Sistem de bare de progres** pentru hunger și happiness | + | * **Sistem de bare de progres** pentru hunger și happiness |
- | - **Timer de evoluție** (baby → adult după 3 minute, pentru testare, dar cu posibilitatea de a extinde durata) | + | * **Timer de evoluție** (baby → adult după 3 minute, pentru testare, dar cu posibilitatea de a extinde durata) |
- | - **Sistem de warning audio** pentru stări critice | + | * **Sistem de warning audio** pentru stări critice |
- | - **Funcționalitate de reset** cu confirmare prin apăsare lungă, pentru a nu apăsa din greșeală | + | * **Funcționalitate de reset** cu confirmare prin apăsare lungă, pentru a nu apăsa din greșeală |
+ | * **Mini Game** pentru funcționalitatea de Play, pentru a reduce monotonia | ||
== Arhitectura Software == | == Arhitectura Software == | ||
Line 169: | Line 170: | ||
* **display.begin()**: inițializează ecranul | * **display.begin()**: inițializează ecranul | ||
- | |||
* **display.clearDisplay()**: șterge conținutul ecranului | * **display.clearDisplay()**: șterge conținutul ecranului | ||
- | |||
* **display.print()**: pentru afișare de text | * **display.print()**: pentru afișare de text | ||
- | |||
* **drawBitmap()**: pentru afișarea pictogramelor | * **drawBitmap()**: pentru afișarea pictogramelor | ||
Line 187: | Line 185: | ||
* Aplicare: comunicația cu display-ul OLED SSD1306 | * Aplicare: comunicația cu display-ul OLED SSD1306 | ||
- | |||
* Avantaje: doar 2 fire pentru date și clock, protocol robust | * Avantaje: doar 2 fire pentru date și clock, protocol robust | ||
- | |||
* Implementare: Wire.begin() pentru inițializare, transfer automat prin bibliotecă | * Implementare: Wire.begin() pentru inițializare, transfer automat prin bibliotecă | ||
Line 195: | Line 191: | ||
* Butoane: citire digitală cu digitalRead() și debounce software | * Butoane: citire digitală cu digitalRead() și debounce software | ||
- | + | * Configurare: pinMode() pentru INPUT | |
- | * Buzzer: generare PWM pentru tonuri diferite cu tone() | + | |
- | + | ||
- | * Configurare: pinMode() pentru INPUT și OUTPUT | + | |
Line 204: | Line 197: | ||
* Senzor lumină: conversie analog-digitală a intensității luminoase | * Senzor lumină: conversie analog-digitală a intensității luminoase | ||
- | |||
* Rezoluție: 10-bit (0-1023) pentru precizie suficientă | * Rezoluție: 10-bit (0-1023) pentru precizie suficientă | ||
+ | * Procesare: conversie la procent pentru logică simplificată | ||
+ | |||
+ | **PWM** | ||
+ | |||
+ | * Buzzer: generare tonuri diferite cu tone() pentru feedback sonor și oprire cu noTone() | ||
- | * Procesare: conversie la procent pentru logică simplificată | ||
==== Scheletul Proiectului și Interacțiunea Funcționalităților ==== | ==== Scheletul Proiectului și Interacțiunea Funcționalităților ==== | ||
Line 306: | Line 302: | ||
[[https://youtu.be/w-dy4ar_Ra4?si=V-8LC7MzfvqlPeFS]] | [[https://youtu.be/w-dy4ar_Ra4?si=V-8LC7MzfvqlPeFS]] | ||
+ | |||
+ | Demo cu mini game: | ||
+ | [[https://youtube.com/shorts/y88nRnVo5h0?si=fG_Q-Cwj3rChF7mN]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||