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 | ||