Differences

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

Link to this comparison view

pm:prj2022:ndrogeanu:piano_tiles [2022/05/13 22:28]
andreea.binca
pm:prj2022:ndrogeanu:piano_tiles [2022/05/28 23:59] (current)
andreea.binca [Download]
Line 34: Line 34:
   * 1 modul cititor carduri microSD   * 1 modul cititor carduri microSD
  
 +=== Schemă electrică ===
 +{{ :​pm:​prj2022:​ndrogeanu:​andreea_binca_schema_electrica.png?​700 |}}
  
 ===== Software Design ===== ===== Software Design =====
  
-**Mediu de dezvoltare**: Arduino IDE+=== Mediu de dezvoltare ​=== 
 +  ​* Arduino IDE 
 +  * VSCode (extensie pentru Arduino) 
 + 
 +=== Biblioteci utilizate === 
 +  * Adafruit_GFX.h 
 +  * Adafruit_SSD1306.h 
 +  * SD.h 
 +  * Wire.h 
 +  * time.h 
 +  * pitches.h (definit de mine pentru note muzicale) 
 + 
 +=== 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}}
  
  
 ===== Jurnal ===== ===== Jurnal =====
  
-  * **5.05.2022** - Testare componente și realizare ​schmă electrică +  * **05.05.2022** - Testare componente și realizare ​schemă electrică
   * **13.05.2022** - Actualizare pagină ocw   * **13.05.2022** - Actualizare pagină ocw
 +  * **17.05.2022** - Definitivare implementare hardware și începerea implementării software
 +  * **23.05.2022** - Implementarea unui cântec
 +  * **24.05.2022** - Implementare parțială a meniului
 +  * **26.05.2022** - refacere cod și implemetare nouă de cântece
 +  * **27.05.2022** - Definitivarea codului + actualizare pagina ocw
  
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 +  * [[https://​cdn-learn.adafruit.com/​downloads/​pdf/​adafruit-gfx-graphics-library.pdf|Adafruit GFX library]]
 +  * [[https://​www.digikey.com/​htmldatasheets/​production/​2047793/​0/​0/​1/​ssd1306.html | SSD 1306 OLED]]
 +  * [[https://​create.arduino.cc/​projecthub/​ | Tutoriale componente]]
 +  * [[https://​create.arduino.cc/​projecthub/​lindsi8784/​electronic-piano-keyboard-with-preset-songs-74ee7c?​ref=tag&​ref_id=piano&​offset=0 | Arduino Piano]]
  
  
pm/prj2022/ndrogeanu/piano_tiles.1652470136.txt.gz · Last modified: 2022/05/13 22:28 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