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:06]
razvan_gabriel.serb [Software Design]
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.
  
 Principalele puncte de interes ale proiectului meu sunt: Principalele puncte de interes ale proiectului meu sunt:
-  - integrarea coerentă a mai multor componente hardware într-un sistem unitar: ecran LCD pentru meniu și scor, matrice LED pentru gameplay, butoane și joystick pentru control, buzzer pentru sunete +integrarea coerentă a mai multor componente hardware într-un sistem unitar: ecran LCD pentru meniu și scor, matrice LED pentru gameplay, butoane și joystick pentru control, buzzer pentru sunete 
-  ​- ​separarea clară a funcționalităților între interfața informativă ​(meniul) și mediul de joc, pentru o experiență fluentă și intuitivă + separarea clară a funcționalităților între interfața informativă ​meniul ​(LCD) și mediul de joc (matrice LED), pentru o experiență fluentă și intuitivă 
-  ​- ​suită de 3 jocuri, dintre care jucătorul alege pe care dorește să îl joace + suită de 3 jocuri, dintre care jucătorul alege pe care dorește să îl joace 
-  ​- ​arhitectură software modulară, ce permite adăugarea rapidă de jocuri și funcționalități suplimentare fără a modifica structura de bază + arhitectură software modulară, ce permite adăugarea rapidă de jocuri și funcționalități suplimentare fără a modifica structura de bază 
-  ​- ​combinație de stil retro și funcționalități moderne + combinație de stil retro și funcționalități moderne
-===== Rezultate Obţinute =====+
  
-<note tip+==== Bibliotecile folosite în cadrul proiectului ==== 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+În cadrul proiectului meu, am folosit următoarele biblioteci:​ 
-</note>+ • #​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 <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)
  
-===== Concluzii =====+==== Utilizarea laboratoarelor în cadrul proiectului ​==== 
 +* Laboratorul 0 
 + • 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()
  
-===== Download =====+==== 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
  
-<note warning>​ +Testarea validității interacțiunilor dintre componente s-a realizat pe parcursul dezvoltării software-ului,​ prin diverse simulări simple de test. 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute ​în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+===== 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|}}
  
-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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +Demohttps://​youtube.com/​shorts/​lH3rP6JLWTo?feature=share 
-</​note>​+===== 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 melepas 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 =====
 +
 +Software-ul este disponibil aici: https://​github.com/​RazvanSerb/​RetroPixel-Game-Hub
 ===== Jurnal ===== ===== Jurnal =====
  
Line 146: 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.1748207166.txt.gz · Last modified: 2025/05/26 00:06 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