This is an old revision of the document!
În acest proiect voi implementa un joc de Tetris controlat de un joystick. Jocul va fi afișat pe o matrice de LED-uri 8×8.
Detaliile jocului (scor, game over etc.) se vor afișa pe un display LCD 16×2.
De fiecare dată când se va face un rând în jocul de Tetris, buzzer-ul va emite un sunet de confirmare.
Am ales acest proiect nu numai pentru că este un joc retro foarte drăguț, ci și pentru că am putut include multe dintre informațiile învățate la laborator, precum lucrul cu GPIO, SPI, I2C și multe altele. :D
În jocul nostru, vom avea nevoie de joystick pentru rotirea pieselor. Atunci când se va face un rând, se va adăuga un punctaj la scorul total afișat pe display. De asemenea, atunci când jocul se va termina, matricea LED va emite un semnal luminos și buzzerul va emite un sunet pentru a semnala finalizarea jocului.
Piese utilizate:
Pinul DOUT al modulului este folosit dacă dorim să conectăm mai multe matrice de LED-uri între ele.
Schema electrică este următoarea:
În stadiul curent al proiectului, am conectat și testat toate componentele pentru a mă asigura că funcționează corespunzător. Am considerat că ar fi mai potrivit pentru un joc să conectez piesele pe o bucată de plexiglas, pentru a avea tot ce am nevoie într-un mod accesibil pentru utilizator. Inițial, îmi comandasem matricea de LED-uri cu modulul MAX7219 în versiunea SMD, însă când am încercat să le lipesc cu pinii nu făceau contactul cum trebuie și am ales să le comand deja asamblate împreună. De asemenea, plănuiesc să conectez proiectul la o baterie, pentru a fi putut ținut în mână de jucător.
Pentru a testa faptul că funcționează componentele, am folosit următoarele resurse: [0], [1], [2]. Am folosit bibliotecile LiquidCrystal_I2c și LedControl, însă voi detalia mai mult despre acestea la partea de software.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
25.04.2024 - descrierea proiectului
03.05.2024 - adăugarea schemei bloc și a componentelor hardware
12.05.2024 - începere realizare hardware
15.05.2024 - realizarea schemei electrice și descrierea stadiului hardware
[0] Interfacing Buzzer to Arduino: https://www.instructables.com/Interfacing-Buzzer-to-Arduino/
[1] Arduino - LCD I2C: https://arduinogetstarted.com/tutorials/arduino-lcd-i2c
[2] How to control 8×8 dot Matrix with MAX7219 and Arduino: https://youtu.be/SGjQ-E3UD7A