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/25 23:48]
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 107: Line 107:
 ===== Software Design ===== ===== Software Design =====
 Mediu de Dezvolate: Arduino IDE Mediu de Dezvolate: Arduino IDE
-Software-ul este disponibil aici: https://​github.com/​RazvanSerb/​RetroPixel-Game-Hub 
  
-===== Rezultate Obţinute =====+==== Elemente 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.
  
-<note tip> +Principalele puncte de interes ale proiectului meu sunt: 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. + • 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 
-</​note>​+ • 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 
 + • 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
  
-===== Concluzii =====+==== Bibliotecile folosite în cadrul proiectului ​==== 
 +Î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 <​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)
  
-===== Download =====+==== 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()
  
-<note warning> +==== Scheletul proiectului ==== 
-O arhivă (sau mai multe dacă este cazulcu fişierele obţinute ​în urma realizării proiectului:​ surseschemeetc. Un fişier README, un ChangeLog, un script ​de compilare şi copiere automată ​pe uC crează întotdeauna ​impresie bună ;-).+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 informativerealizat prin 4 butoane - permite deplasarea printre jocurile disponibileselectarea 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
  
-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**. +Testarea validității interacțiunilor dintre componente s-a realizat ​pe parcursul dezvoltării software-ului, prin diverse simulări simple ​de test. 
-</​note>​+===== 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 =====
 +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 =====
 +
 +Software-ul este disponibil aici: https://​github.com/​RazvanSerb/​RetroPixel-Game-Hub
 ===== Jurnal ===== ===== Jurnal =====
  
Line 136: 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.1748206099.txt.gz · Last modified: 2025/05/25 23:48 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