This shows you the differences between two versions of the page.
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 | ||