Differences

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

Link to this comparison view

pm:prj2026:tarik_ilhan.omer:andrei.balica [2026/05/05 12:19]
andrei.balica
pm:prj2026:tarik_ilhan.omer:andrei.balica [2026/05/05 12:31] (current)
andrei.balica [Descriere generala]
Line 15: Line 15:
 ===== Descriere generala ===== ===== Descriere generala =====
  
-Arhitectura sistemului se bazeaza pe o unitate centrala de procesare minimala, a carei functionalitate se extinde prin periferice de intrare (butoane), iesire (display) si memorie (card SD).+Arhitectura sistemului se bazeaza pe o unitate centrala de procesare minimala, a carei functionalitate se extinde prin periferice de intrare (butoane, joystick), iesire (display) si memorie (card SD).
  
 **Module si interactiune:​** **Module si interactiune:​**
Line 25: Line 25:
   - **Sistemul grafic (I2C):** Un ecran OLED de 0.96 inch (sau 1.3 inch) primeste bufferele de pixeli prin protocolul I2C. Consuma doar doi pini (SDA, SCL) si ofera un contrast perfect pentru jocurile retro pixel-art.   - **Sistemul grafic (I2C):** Un ecran OLED de 0.96 inch (sau 1.3 inch) primeste bufferele de pixeli prin protocolul I2C. Consuma doar doi pini (SDA, SCL) si ofera un contrast perfect pentru jocurile retro pixel-art.
  
-  - **Interfata de control (Digital IO):** Un set de butoane ​configurate in format D-Pad (SusJosStangaDreapta + Actiune). Acestea ​folosesc rezistentele interne de pull-up ale MCU-ului si comuta in LOW la apasare, eliminand nevoia componentelor externe.+  - **Interfata de control (Digital IO):** Un joystick 5D (5-directional navigation switch) pentru navigare, completat ​de butoane ​tip push pentru actiuni suplimentare ​(A, BStartSelectReset). Toate folosesc rezistentele interne de pull-up ale MCU-ului si comuta in LOW la apasare, eliminand nevoia componentelor externe.
  
   - **Modulul de alimentare:​** O sursa externa (baterie 9V) este stabilizata la 5V curat de un regulator liniar L7805CV, protejat de condensatori de decuplare, oferind curentul necesar atat cipului, cat si ecranului si modulului SD.   - **Modulul de alimentare:​** O sursa externa (baterie 9V) este stabilizata la 5V curat de un regulator liniar L7805CV, protejat de condensatori de decuplare, oferind curentul necesar atat cipului, cat si ecranului si modulului SD.
  
-{{:​pm:​prj2026:​tarik_ilhan.omer:​andreibalica:​schema_bloc.png?600|Schema Bloc a Consolei}}+{{:​pm:​prj2026:​tarik_ilhan.omer:​schema_bloc_consola_retro.png?600|}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 42: Line 42:
   * 1 x Display OLED 0.96" (sau 1.3") I2C (Driver SSD1306/​SH1106)   * 1 x Display OLED 0.96" (sau 1.3") I2C (Driver SSD1306/​SH1106)
   * 1 x Modul cititor MicroSD Card (Interfata SPI)   * 1 x Modul cititor MicroSD Card (Interfata SPI)
-  * 5/6 x Micro-switch-uri (Butoane tip push pentru D-Pad si comenzi)+  ​* 1 x Joystick 5D (5-directional navigation switch) 
 +  ​* 5 x Micro-switch-uri (Butoane tip push — A, B, Start, Select, Reset)
   * 1 x Breadboard 830 puncte   * 1 x Breadboard 830 puncte
   * Fire de conexiune rigide si flexibile   * Fire de conexiune rigide si flexibile
Line 57: Line 58:
   * **Bootloader-ul (Miezul proiectului):​** Se foloseste o varianta derivata din 2000-Lines-of-Code SD Bootloader (sau zbm-h/​sd-bootloader). Acesta ocupa primii octeti din Flash si implementeaza direct functiile SPM (Store Program Memory) ale AVR-ului.   * **Bootloader-ul (Miezul proiectului):​** Se foloseste o varianta derivata din 2000-Lines-of-Code SD Bootloader (sau zbm-h/​sd-bootloader). Acesta ocupa primii octeti din Flash si implementeaza direct functiile SPM (Store Program Memory) ale AVR-ului.
  
-  * **Logica jocului (Ex: Snake):** Foloseste un sistem de tip Game Loop (Update & Draw). Memoria RAM de doar 2KB a ATmega328P limiteaza buffer-ul grafic, motiv pentru care randarea se face prin paginare sau direct pe componente bloc (8x8 pixeli) pentru a salva memorie. ​Butoanele ​sunt citite pe baza de polling in bucla principala sau prin Pin Change Interrupts.+  * **Logica jocului (Ex: Snake):** Foloseste un sistem de tip Game Loop (Update & Draw). Memoria RAM de doar 2KB a ATmega328P limiteaza buffer-ul grafic, motiv pentru care randarea se face prin paginare sau direct pe componente bloc (8x8 pixeli) pentru a salva memorie. ​Joystick-ul si butoanele ​sunt citite pe baza de polling in bucla principala sau prin Pin Change Interrupts.
  
 ===== Rezultate Obtinute ===== ===== Rezultate Obtinute =====
Line 75: Line 76:
   * **Saptamana 1:** Achizitionarea pieselor hardware. Planificarea pinilor. Realizarea montajului de baza (circuitul de alimentare pe breadboard si testarea functionarii cipului ATmega328P "in gol").   * **Saptamana 1:** Achizitionarea pieselor hardware. Planificarea pinilor. Realizarea montajului de baza (circuitul de alimentare pe breadboard si testarea functionarii cipului ATmega328P "in gol").
  
-  * **Urmeaza:​** Conectarea ecranului OLED si implementarea butoanelor de control pentru a testa partea vizuala a proiectului.+  * **Urmeaza:​** Conectarea ecranului OLED si implementarea ​joystick-ului si butoanelor de control pentru a testa partea vizuala a proiectului.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2026/tarik_ilhan.omer/andrei.balica.1777972781.txt.gz · Last modified: 2026/05/05 12:19 by andrei.balica
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