This shows you the differences between two versions of the page.
|
pm:prj2026:cezar.zlatea:vanessa.cupsan [2026/05/09 11:39] vanessa.cupsan |
pm:prj2026:cezar.zlatea:vanessa.cupsan [2026/05/09 14:10] (current) vanessa.cupsan |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| <note tip> | <note tip> | ||
| - | RetroBox este o consolă de jocuri portabilă implementată pe un microcontroler Arduino UNO R3, | + | RetroBox este o consolă de jocuri portabilă implementată pe două module Arduino UNO R3, |
| - | care rulează trei jocuri clasice: **Tic-Tac-Toe**, **Snake** și **Reaction Rush**. Jocurile sunt | + | 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 | + | accesibile printr-un meniu interactiv afișat pe un ecran TFT LCD 1.44", iar gameplay-ul |
| - | de butoane fizice. Un buzzer oferă feedback audio pentru evenimentele din joc, iar un LED | + | este randat pe o matrice LED 8×8. Inputul este controlat cu un set de butoane fizice, |
| - | strip îmbunătățește experiența vizuală în funcție de starea jocului. | + | 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ă | + | 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. | 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. | + | 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 | + | 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 | + | precum gestionarea input-ului, randarea pe display, timing și structurarea codului în module |
| - | independente, dar este și fun de folosit. | + | independente, dar este și fun de folosit. |
| </note> | </note> | ||
| Line 23: | Line 26: | ||
| <note tip> | <note tip> | ||
| - | Sistemul este construit în jurul unui singur Arduino UNO R3, care gestionează toate | + | Sistemul este construit în jurul a două module Arduino UNO R3 care comunică prin UART. |
| - | componentele: afișajul LCD, butoanele de input, buzzer-ul și LED strip-ul. | + | 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. | ||
| - | Utilizatorul navighează printr-un meniu principal afișat pe LCD, din care poate selecta unul | + | Utilizatorul navighează printr-un meniu principal afișat pe TFT LCD, din care poate selecta |
| - | dintre cele trei jocuri disponibile: | + | unul dintre cele trei jocuri disponibile: |
| - | * **Tic-Tac-Toe** — joc pentru 2 jucători pe același dispozitiv. Fiecare jucător mută | + | * **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. |
| - | 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> | ||
| - | * **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. | + | {{:pm:prj2026:cezar.zlatea:schema_bloc_retrobox.jpeg|}} |
| - | * **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. | + | **Descriere diagramă bloc** |
| - | </note> | + | 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. |
| - | 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 ===== | ===== 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 82: | 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 92: | 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> | ||
| - | |||