This shows you the differences between two versions of the page.
pm:prj2025:avaduva:razvan_gabriel.serb [2025/05/26 00:55] razvan_gabriel.serb [Utilizarea laboratoarelor în cadrul proiectului] |
pm:prj2025:avaduva:razvan_gabriel.serb [2025/05/28 13:36] (current) razvan_gabriel.serb [Utilizarea laboratoarelor în cadrul proiectului] |
||
---|---|---|---|
Line 108: | Line 108: | ||
Mediu de Dezvolate: Arduino IDE | Mediu de Dezvolate: Arduino IDE | ||
- | Software-ul este disponibil aici: https://github.com/RazvanSerb/RetroPixel-Game-Hub | + | ==== Elemente de noutate al proiectului ==== |
- | + | ||
- | ==== Element de noutate al proiectului ==== | + | |
Proiectul RetroPixel Game Hub se remarcă prin realizarea unei unități modulare de tip consolă retro, care oferă o experiență completă de joc într-un format compact și extensibil. | Proiectul RetroPixel Game Hub se remarcă prin realizarea unei unități modulare de tip consolă retro, care oferă o experiență completă de joc într-un format compact și extensibil. | ||
Line 134: | Line 132: | ||
• am configurat pinii butoanelor (inclusiv cel al joystick-ului) și buzzer-ului cu pinMode() (INPUT / OUTPUT) | • am configurat pinii butoanelor (inclusiv cel al joystick-ului) și buzzer-ului cu pinMode() (INPUT / OUTPUT) | ||
• am citit stările pinilor butoanelor (inclusiv cel al joystick-ului) cu digitalRead() pentru navigarea prin meniu și controlul în jocuri | • am citit stările pinilor butoanelor (inclusiv cel al joystick-ului) cu digitalRead() pentru navigarea prin meniu și controlul în jocuri | ||
- | * Laboratorul 2 | + | * Laboratorul 3 |
• am folosit tone(pin, frecvență) pentru a genera sunete în meniu și în timpul jocurilor | • am folosit tone(pin, frecvență) pentru a genera sunete în meniu și în timpul jocurilor | ||
- | * Laboratorul 3 | + | * Laboratorul 4 |
• am citit pozițiile joystick-ului cu analogRead() pe axe X și Y, apoi am comparat valorile cu praguri pentru a detecta direcția mișcării în timpul jocurilor | • am citit pozițiile joystick-ului cu analogRead() pe axe X și Y, apoi am comparat valorile cu praguri pentru a detecta direcția mișcării în timpul jocurilor | ||
- | * Laboratorul 4 | ||
- | • am utilizat biblioteca LiquidCrystal_I2C.h pentru controlul ecranului LCD 16x2 | ||
- | • am realizat afișările pentru meniu și scor cu lcd.setCursor() și lcd.print() | ||
* Laboratorul 5 | * Laboratorul 5 | ||
• am folosit un SD card pentru salvarea highscore-ului pentru fiecare joc | • am folosit un SD card pentru salvarea highscore-ului pentru fiecare joc | ||
* Laboratorul 6 | * Laboratorul 6 | ||
- | • am integrat toate componentele într-un sistem funcțional | + | • am utilizat biblioteca LiquidCrystal_I2C.h pentru controlul ecranului LCD 16x2 cu modul I2C |
+ | • am realizat afișările pentru meniu și scor cu lcd.setCursor() și lcd.print() | ||
==== Scheletul proiectului ==== | ==== Scheletul proiectului ==== | ||
Proiectul RetroPixel Game Hub este structurat modular, pentru a integra toate funcționalitățile specifice unei mini-console retro: | Proiectul RetroPixel Game Hub este structurat modular, pentru a integra toate funcționalitățile specifice unei mini-console retro: | ||
- | * interfața informativă (meniul), afișată pe LCD 16x2 I2C - permite alegerea între 3 jocuri (Snake Game, Avoid Falling Lines Game, Memory Game) | + | • interfața informativă (meniul), afișată pe LCD 16x2 I2C - permite alegerea între 3 jocuri (Snake Game, Avoid Falling Lines Game, Memory Game) |
- | * controlul în cadrul interfeței informative, realizat prin 4 butoane - permite deplasarea printre jocurile disponibile, selectarea unui joc, și întoarcerea la meniu (în cazul în care am pornit un joc) | + | • controlul în cadrul interfeței informative, realizat prin 4 butoane - permite deplasarea printre jocurile disponibile, selectarea unui joc, și întoarcerea la meniu (în cazul în care am pornit un joc) |
- | * mediul de joc, afișat pe o matrice LED MAX7219 8x8 | + | • mediul de joc, afișat pe o matrice LED MAX7219 8x8 |
- | * controlul în cadrul mediului de joc, realizat prin joystick - permite mișcările acceptate în funcție de joc | + | • controlul în cadrul mediului de joc, realizat prin joystick - permite mișcările acceptate în funcție de joc |
- | * feedback sonor, realizat cu ajutorul buzzer-ului | + | • feedback sonor, realizat cu ajutorul buzzer-ului |
- | * mediu de stocare, SD card - permite salvarea highscore-urilor pentru fiecare joc disponibil | + | • mediu de stocare, SD card - permite salvarea highscore-urilor pentru fiecare joc disponibil |
- | Testare validității interacțiunilor dintre componente s-a realizat pe parcursul dezvoltării software-ului, prin diverse simulări simple de test. | + | Testarea validității interacțiunilor dintre componente s-a realizat pe parcursul dezvoltării software-ului, prin diverse simulări simple de test. |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{:pm:prj2025:avaduva:razvan_gabriel.serb_rezultat_1.jpeg?400|}} | ||
+ | {{:pm:prj2025:avaduva:razvan_gabriel.serb_rezultat_2.jpeg?400|}} | ||
+ | {{:pm:prj2025:avaduva:razvan_gabriel.serb_rezultat_3.jpeg?400|}} | ||
- | <note tip> | + | Demo: https://youtube.com/shorts/lH3rP6JLWTo?feature=share |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Dezvoltarea proiectului RetroPixel Game Hub a fost o experiență foarte distractivă și educativă. Mi-a plăcut să combin joaca cu învățarea și să văd cum prind viață ideile mele, pas cu pas. Am învățat multe lucruri noi și m-am bucurat de fiecare etapă — de la conectarea componentelor până la scrierea codului și testarea jocurilor. | ||
+ | A fost o provocare plăcută care mi-a arătat cât de mult se poate realiza cu răbdare, creativitate și puțină pasiune pentru tehnologie. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | Software-ul este disponibil aici: https://github.com/RazvanSerb/RetroPixel-Game-Hub |
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 183: | Line 176: | ||
12.05.2025 - am comandat piesele care necesitau înlocuire | 12.05.2025 - am comandat piesele care necesitau înlocuire | ||
+ | |||
+ | 16.05.2025 - am început dezvoltarea software-ului | ||
+ | |||
+ | 20.05.2025 - am obținut un software valid | ||
+ | |||
+ | 24.05.2025 - am stilizat hardware-ul și am integrat software-ul, obținând un produs finit | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||