Differences

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

Link to this comparison view

pm:prj2022:ndrogeanu:piano_tiles [2022/05/26 21:05]
andreea.binca [Hardware Design]
pm:prj2022:ndrogeanu:piano_tiles [2022/05/28 23:59] (current)
andreea.binca [Download]
Line 35: Line 35:
  
 === Schemă electrică === === Schemă electrică ===
-{{ :​pm:​prj2022:​ndrogeanu:​andreea_binca_schema_electrica.png?​|}}+{{ :​pm:​prj2022:​ndrogeanu:​andreea_binca_schema_electrica.png?​700 |}}
  
 ===== Software Design ===== ===== Software Design =====
Line 41: Line 41:
 === Mediu de dezvoltare === === Mediu de dezvoltare ===
   * Arduino IDE   * Arduino IDE
-  * VSCode (Arduino ​Extension by Microsoft)+  * VSCode (extensie pentru ​Arduino)
  
 === Biblioteci utilizate === === Biblioteci utilizate ===
   * Adafruit_GFX.h   * Adafruit_GFX.h
   * Adafruit_SSD1306.h   * Adafruit_SSD1306.h
-  * SPI.h 
   * SD.h   * SD.h
   * Wire.h   * Wire.h
Line 53: Line 52:
  
 === Implementare === === Implementare ===
 +În fișierul piano_tiles.h sunt definite macrourile pentru input-uri, variabilele pentru butoane, joystick, display, template-uri pentru afișarea pe ecran, melodiile și sunt definite funcțiile de play și listen.
 +
 +În fișierul piano_tiles.ino sunt implementate funcțiile:
 +
 +== setup() ==
 +  * se setează pinii de input/​output;​
 +  * se configurează display-ul;
 +  * se inițializează bufferele.
 +
 +== loop() ==
 +  * se selectează din meniu PLAY sau LISTEN folosind joystick-ul pe axa OX și apăsând pe acesta;
 +  * se selectează cântecul dorit SONG 1 sau SONG 2 folosind joystick-ul pe axa OY și apăsând pe acesta;
 +  * în cazul în care s-a ales funcția de PLAY va porni jocul pe cântecul ales;
 +  * în cazul în care s-a ales funcția de LISTEN va porni redarea cântecului ales.
 +
 +== play_song(...) ==
 +  * se generează pe ecran linie cu linie cântecul și se verifica apăsarea butonului corespunzător tile-ului care urmează să ajungă pe ultima linie;
 +  * dacă s-a apăsat la timp, buzzer-ul va cânta, iar un led albastru se va aprinde;
 +  * dacă s-a apăsat greșit sau deloc, se va aprinde un led rosu, semnificând o viață pierdută;
 +  * dacă se ajunge la finalul cântecului,​ va apărea pe ecran mesajul GAME WON!;
 +  * dacă se fac 3 greșeli, va apărea pe ecran mesajul GAME LOST.
 +
 +== listen_song(...) ==
 +  * se afișează un ecran de titlu SONG;
 +  * se generează cântecul redat prin buzzer și se aprinde led-ul albastru.
 +
 +
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 +Meniul:
 +{{ :​pm:​prj2022:​ndrogeanu:​binca_andreea_meniu.jpeg?​600 |}}
 +
 +Functia de joc:
 +{{ :​pm:​prj2022:​ndrogeanu:​binca_andreea_play.jpeg?​600 |}}
 +
 +Functia de redare:
 +{{ :​pm:​prj2022:​ndrogeanu:​binca_andreea_listen.jpeg?​600 |}}
 +
 +<note tip>
 +Demo în arhivă.
 +</​note>​
  
  
 ===== Concluzii ===== ===== Concluzii =====
 +În cadrul proiectului am învățat să folosesc noțiunile predate în laboratoare,​ dar și din aprofundarea personală.
 +Rezultatul a fost un joculeț drăguț, care în viitor poate fi îmbunătățit.
  
  
  
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2022:​ndrogeanu:​binca_andreea_piano_tiles.zip| Piano Tiles}}
  
  
Line 72: Line 112:
   * **13.05.2022** - Actualizare pagină ocw   * **13.05.2022** - Actualizare pagină ocw
   * **17.05.2022** - Definitivare implementare hardware și începerea implementării software   * **17.05.2022** - Definitivare implementare hardware și începerea implementării software
-  * **23.05.2022** - Implementarea unui cantec+  * **23.05.2022** - Implementarea unui cântec
   * **24.05.2022** - Implementare parțială a meniului   * **24.05.2022** - Implementare parțială a meniului
-  * **26.05.2022** -  ​Actualizare pagină ocw+  * **26.05.2022** - refacere cod și implemetare nouă de cântece 
 +  * **27.05.2022** - Definitivarea codului + actualizare pagina ​ocw
  
  
pm/prj2022/ndrogeanu/piano_tiles.1653588312.txt.gz · Last modified: 2022/05/26 21:05 by andreea.binca
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