Differences

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

Link to this comparison view

pm:prj2025:avaduva:stefania.draghici [2025/05/26 19:56]
stefania.draghici [Motivarea alegerii bibliotecilor]
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 229: Line 225:
 == Sistem de Evenimente: == == Sistem de Evenimente: ==
  
-  * **triggerHappyAnimation()** + **runHappyAnimation()**:​ răspuns la butonul PLAY+  * **triggerHappyAnimation()** + **runHappyAnimation()** + **runMiniGame()**: răspuns la butonul PLAY
  
   * **triggerEatAnimation()** + **runEatAnimation()**:​ răspuns la butonul FEED   * **triggerEatAnimation()** + **runEatAnimation()**:​ răspuns la butonul FEED
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 =====
  
pm/prj2025/avaduva/stefania.draghici.1748278614.txt.gz · Last modified: 2025/05/26 19:56 by stefania.draghici
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