This is an old revision of the document!
Joc Pong
Introducere
Prezentarea pe scurt a proiectului vostru:
O implementare a jocului clasic Pong, în care fiecare jucător folosește un joystick pentru a deplasa “playerul” sus-jos. Jocul va fi afisat pe un display, iar pe cardul SD voi avea încarcată o melodie care va fi redată în timpul jocului. Voi folosi un cititor de card SD si un buzzer pentru a reda sunetul.
Descriere generală
O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.
Joystick (ADC): permite jucătorilor să se miște sus-jos.
Display (I2C): afișează jocul.
Cititor card SD (SPI): descarcă de pe cardul de memorie melodia care va fi redată pe parcursul jocului.
Buzzer (PWM): redă o melodie pe parcursul jocului.
!Potentiometrele din schema reprezinta Joystick-uri!
Pinii (de la stanga la dreapta):
!Piesa de pe breadboard-ul din stanga reprezinta un cititor de card SD!
Pinii (de la stanga la dreapta):
-GND
-3V3
-5V
-CS
-MOSI
-SCK
-MISO
-GND
Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html
Hardware Design
Componente folosite:
Arduino Uno
Display OLED
Buzzer
Cititor de card SD
Breadboard
2 joystick-uri
Fire
Implementarea Hardware:
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.
Funcționalitate completă a jocului: Proiectul reprezintă o implementare completă a clasicului joc Pong, utilizând o placă Arduino Uno. Afișajul jocului se face pe un ecran OLED, cititorul de card SD preia muzica, iar aceasta este redată de Buzzer pe tot parcursul jocului. În plus, buzzerul scoate câte un sunet și la fiecare coliziune a bilei cu un perete, sau când un jucător marchează un punct.
Afișaj clar și precis: Biblioteca U8g2lib pentru grafica de pe ecran asigură un afișaj clar și precis al jocului, inclusiv grafică simplă pentru teren, palete, minge și scor.
Citirea datelor: Folosirea bibliotecii SdFat pentru a asigura citirea clară a datelor de pe cardul SD.
Video: https://youtu.be/NPU42rhr9dE?si=4Mh1g0Y9_OWcb08r
Concluzii
Acesta a fost primul proiect hardware pe care l-am realizat și pot spune că mi-a făcut deosebită plăcere să lucrez la el. Consider că, în ciuda timpului investit în finalizarea acestui proiect, satisfacția de la final merită pe deplin orele petrecute experimentând și învățând să folosesc Arduino.
Sunt mândru că am reușit să implementez acest proiect, rezultând într-un joc simplu dar captivant!
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
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF