This is an old revision of the document!
Tetris
Introducere
Proiectul meu aduce jocul Tetris din lumea virtuala intr-un format fizic, construit cu ajutorul unei placi Arduino. Ideea de baza este simpla: piese de diferite forme cad pe un ecran, iar jucatorul trebuie sa le potriveasca perfect pentru a crea linii orizontale. Atunci cand o linie este completa, ea dispare, lasand loc pentru noi piese.
Am pornit de la dorinta de a vedea cum pot transforma niste componente electronice obisnuite intr-o consola de jocuri functionala. Mi-am dorit sa vad daca pot sa fac toate aceste piese sa se miste fluid, sa afisez scorul in timp real si sa adaug muzica de fundal, totul dintr-un singur cod.
Pentru mine, acest proiect este cea mai buna metoda de a vedea cum teoria de la cursuri se aplica in realitate. Am invatat cum sa conectez corect senzorii (joystick, buton) si cum sa organizez codul software pentru a controla hardware-ul.
Descriere generală
Afisare (Output): Jocul se vede pe un modul format din 4 matrice de LED-uri (8×32 puncte in total), iar informatiile suplimentare, precum scorul, sunt afisate separat pe un ecran OLED.
Hardware Design
Componente folosite:
Arduino Uno: Placa de baza pentru controlul intregului sistem.
Modul 4 matrice LED MAX7219 (SPI): Suprafata principala de joc (8×32 pixeli).
Display OLED (I2C): Pentru afisarea scorului si a mesajelor.
Joystick: Pentru controlul directiei de deplasare a pieselor.
Buton (Push-button): Pentru functia de rotire a pieselor.
Buzzer (PWM): Pentru feedback sonor si melodia Tetris.
Rezistenta 220 Ω: Pentru protectia circuitului buzzer-ului.
Breadboard si fire de legatura: Pentru realizarea conexiunilor intre componente.
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse