Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:avaduva:razvan_gabriel.serb [2025/05/26 00:23]
razvan_gabriel.serb [Element de noutate al 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 122: Line 120:
 ==== Bibliotecile folosite în cadrul proiectului ==== ==== Bibliotecile folosite în cadrul proiectului ====
 În cadrul proiectului meu, am folosit următoarele biblioteci: În cadrul proiectului meu, am folosit următoarele biblioteci:
-  * #include <​LiquidCrystal_I2C.h>​ - oferă o interfață ușor de folosit pentru controlul unui ecran LCD cu interfață I2C (folosită pentru a realiza interfața informativă - meniul) +#include <​LiquidCrystal_I2C.h>​ - oferă o interfață ușor de folosit pentru controlul unui ecran LCD cu interfață I2C (folosită pentru a realiza interfața informativă - meniul) 
-  ​* ​#include <​LedControl.h>​ - oferă o interfață ușor de folosit pentru controlul matricei LED 8x8 bazată pe MAX7219, permițând chiar controlul individual al fiecărui LED din matrice (folosită pentru a realiza mediul de joc) + #include <​LedControl.h>​ - oferă o interfață ușor de folosit pentru controlul matricei LED 8x8 bazată pe MAX7219, permițând chiar controlul individual al fiecărui LED din matrice (folosită pentru a realiza mediul de joc) 
-  ​* ​#include <​SPI.h>​ - oferă utilitate pentru comunicare prin protocolul SPI (folosită în comunicarea cu SD card) + #include <​SPI.h>​ - oferă utilitate pentru comunicare prin protocolul SPI (folosită în comunicarea cu SD card) 
-  ​* ​#include <​SD.h>​ - oferă utilitate în manipularea fișierelor de pe SD card (folosită pentru salvarea de date pe SD card) + #include <​SD.h>​ - oferă utilitate în manipularea fișierelor de pe SD card (folosită pentru salvarea de date pe SD card)
-===== Rezultate Obţinute =====+
  
-<note tip> +==== Utilizarea laboratoarelor în cadrul proiectului ==== 
-Care au fost rezultatele obţinute ​în urma realizării proiectului ​vostru+* Laboratorul 0 
-</​note>​+ • am folosit Serial.begin(9600) pentru a inițializa comunicarea serială 
 + • am utilizat Serial.print() pentru a verifica inițializarea componentelor externe (LCD, matrice LED, SD card), și pentru a testa valorile de la butoane și joystick 
 +* Laboratorul 1 
 + • 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 
 +* Laboratorul 3 
 + • am folosit tone(pin, frecvență) pentru a genera sunete în meniu și în timpul jocurilor 
 +* 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 
 +* Laboratorul 5 
 + • am folosit un SD card pentru salvarea highscore-ului pentru fiecare joc 
 +* Laboratorul 6 
 + • 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 ​==== 
 +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) 
 + • 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 
 + • 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 
 + • mediu de stocare, SD card - permite salvarea highscore-urilor pentru fiecare joc disponibil 
 + 
 +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 ===== 
 +{{:​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|}}
  
 +Demo: https://​youtube.com/​shorts/​lH3rP6JLWTo?​feature=share
 ===== 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 aicihttps://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 153: 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 =====
  
pm/prj2025/avaduva/razvan_gabriel.serb.1748208216.txt.gz · Last modified: 2025/05/26 00:23 by razvan_gabriel.serb
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