This shows you the differences between two versions of the page.
|
pm:prj2026:cezar.zlatea:vanessa.cupsan [2026/05/09 11:11] vanessa.cupsan |
pm:prj2026:cezar.zlatea:vanessa.cupsan [2026/05/09 14:10] (current) vanessa.cupsan |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== RetroBox — A Portable Multi-Game Console ====== | ====== RetroBox — A Portable Multi-Game Console ====== | ||
| + | |||
| ===== Introducere ===== | ===== Introducere ===== | ||
| <note tip> | <note tip> | ||
| - | Prezentarea pe scurt a proiectului vostru: | + | RetroBox este o consolă de jocuri portabilă implementată pe două module Arduino UNO R3, |
| - | * ce face | + | care rulează trei jocuri clasice: **Tic-Tac-Toe**, **Snake** și **Reaction Rush**. Jocurile sunt |
| - | * care este scopul lui | + | accesibile printr-un meniu interactiv afișat pe un ecran TFT LCD 1.44", iar gameplay-ul |
| - | * care a fost ideea de la care aţi pornit | + | este randat pe o matrice LED 8×8. Inputul este controlat cu un set de butoane fizice, |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | un buzzer oferă feedback sonor pentru evenimentele din joc, un LED strip îmbunătățește |
| + | experiența vizuală, iar un speaker redă muzică de fundal la victorie sau înfrângere. | ||
| + | |||
| + | 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. | ||
| </note> | </note> | ||
| + | |||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| <note tip> | <note tip> | ||
| - | 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ă. | + | Sistemul este construit în jurul a două module Arduino UNO R3 care comunică prin UART. |
| + | Primul, **Controller joc**, gestionează meniul pe TFT LCD 1.44", randează jocurile pe | ||
| + | matricea LED 8×8, citește inputul de la cele 5 butoane și controlează LED strip-ul și | ||
| + | buzzer-ul. Al doilea, **Controller audio**, citește fișiere audio de pe un SD card și le | ||
| + | redă prin amplificatorul XPT8871 către speaker, la comanda primului Arduino. | ||
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | Utilizatorul navighează printr-un meniu principal afișat pe TFT 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 TFT LCD în meniu. | ||
| + | * **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 TFT LCD și comparat cu recordul anterior. | ||
| </note> | </note> | ||
| + | |||
| + | {{:pm:prj2026:cezar.zlatea:schema_bloc_retrobox.jpeg|}} | ||
| + | |||
| + | **Descriere diagramă bloc** | ||
| + | |||
| + | Sistemul RetroBox folosește două Arduino UNO R3 care comunică prin UART. Primul, Controller joc, gestionează afișajul TFT LCD 1.44" și matricea LED 8×8 prin SPI, citește inputul de la cele 5 butoane prin GPIO și controlează LED strip-ul (1-wire) și buzzer-ul (PWM). Al doilea, Controller audio, citește fișiere audio de pe SD card prin SPI și le redă prin amplificatorul XPT8871 către speaker. Când un jucător câștigă sau pierde, controlerul joc trimite o comandă UART către controlerul audio pentru a reda melodia corespunzătoare. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| <note tip> | <note tip> | ||
| - | Aici puneţi tot ce ţine de hardware design: | + | Listă de componente |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | ^ Componentă ^ Cantitate ^ Rol ^ |
| - | * diagrame de semnal | + | | Arduino UNO R3 | 2 | Microcontrolere principale (controller joc + controller audio) | |
| - | * rezultatele simulării | + | | TFT LCD 1.44" ST7735 | 1 | Afișaj meniu și scoruri | |
| + | | Matrice LED 8×8 MAX7219 | 1 | Afișaj gameplay jocuri | | ||
| + | | LED Strip WS2812B | 1 | Efecte vizuale (victorie / înfrângere / idle) | | ||
| + | | Keyboard 4 butoane | 1 | Navigare direcțională | | ||
| + | | Buton tactil | 1 | Selecție / confirmare | | ||
| + | | Buzzer | 1 | Feedback sonor în joc (timer, game over) | | ||
| + | | Modul SD Card Reader | 1 | Stocare fișiere audio | | ||
| + | | Card SDHC | 1 | Suport stocare fișiere audio | | ||
| + | | Amplificator XPT8871 | 1 | Amplificare semnal audio | | ||
| + | | Speaker | 1 | Redare muzică victorie / înfrângere | | ||
| + | | Rezistență 220Ω | 1 | Protecție circuit | | ||
| + | | Mini breadboard | 2 | Prototipare conexiuni | | ||
| + | | Fire male-male / male-female | — | Conexiuni între componente | | ||
| </note> | </note> | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | |||
| <note tip> | <note tip> | ||
| Line 57: | Line 97: | ||
| <note tip> | <note tip> | ||
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | Puteți avea și o secțiunea de jurnal în care să poată urmări asistentul de proiect progresul proiectului. |
| </note> | </note> | ||
| Line 67: | Line 107: | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
| - | |||