This is an old revision of the document!


RetroBox — A Portable Multi-Game Console

Introducere

RetroBox este o consolă de jocuri portabilă implementată pe un microcontroler Arduino UNO R3, care rulează trei jocuri clasice: Tic-Tac-Toe, Snake și Reaction Rush. Jocurile sunt accesibile printr-un meniu interactiv afișat pe un ecran LCD, controlat cu ajutorul unui set de butoane fizice. Un buzzer oferă feedback audio pentru evenimentele din joc, iar un LED strip îmbunătățește experiența vizuală în funcție de starea jocului.

Scopul proiectului este de a crea o platformă embedded modulară și autonomă, care să demonstreze integrarea mai multor componente hardware într-un sistem coerent și interactiv.

Ideea a pornit de la faptul că am deja implementate din anii anteriori jocurile menționate și îmi doresc să le duc cu un nivel mai sus, creând o consolă fizică care să le încorporeze pe toate 3.

Proiectul este util atât ca experiență de învățare în embedded systems — acoperind concepte precum gestionarea input-ului, randarea pe display, timing și structurarea codului în module independente, dar este și fun de folosit.

Descriere generală

Sistemul este construit în jurul unui singur Arduino UNO R3, care gestionează toate componentele: afișajul LCD, butoanele de input, buzzer-ul și LED strip-ul.

Utilizatorul navighează printr-un meniu principal afișat pe LCD, din care poate selecta unul dintre cele trei jocuri disponibile:

  • Tic-Tac-Toe — joc pentru 2 jucători pe același dispozitiv. Fiecare jucător mută

pe rând folosind butoanele direcționale și butonul de selecție. Un timer de 10 secunde

  per mutare este semnalizat de buzzer în ultimele 3 secunde.
  • Snake — joc single-player clasic. Șarpele crește la fiecare mâncare consumată,

iar viteza crește progresiv. Scorul maxim este salvat în EEPROM și afișat pe LCD.

  • Reaction Rush — mini-joc de reflexe. LED strip-ul se aprinde la un moment aleator,

iar jucătorul trebuie să apese butonul cât mai repede. Timpul de reacție este afișat

  pe LCD și comparat cu recordul anterior.

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

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html </note>

Hardware Design

Aici puneţi tot ce ţine de hardware design:

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

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/cezar.zlatea/vanessa.cupsan.1778315866.txt.gz · Last modified: 2026/05/09 11:37 by vanessa.cupsan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0