Differences

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

Link to this comparison view

pm:prj2026:ciprian.popescu0411:alexandru.stoian05 [2026/05/08 10:03]
alexandru.stoian05 [Descriere generală]
pm:prj2026:ciprian.popescu0411:alexandru.stoian05 [2026/05/15 16:59] (current)
alexandru.stoian05 [Bill of Materials]
Line 3: Line 3:
  
 Prezentarea pe scurt a proiectului:​ Prezentarea pe scurt a proiectului:​
-  * Proiectul ​este un joc interactiv inspirat de "Chicken Invaders", cu afisaj ​pe un ecran lcdcare poate fi jucat dintr-un ​joystick ​si butoane. +  * Proiectul ​constă într-un joc interactiv inspirat de Chicken Invaders, cu afișaj ​pe un ecran LCDce poate fi controlat cu ajutorul unui joystick ​și al unor butoane. 
-  * Scopul ​sau este de a simula comportamentul unei console de jocuri de tip handheld. ​O consola handheld are toate componentele sale (microcontrollerecranbutoane / joystick) ​intr-un format compact. + 
-  * Sursa de inspiratie este data de consolele ​handheld ​pe care m-am mai jucatprecum ​Nintendo DS sau Steam Deck, si jocul "​Chicken Invaders" ​pe care l-am jucat in copilarie. Vreau sa fac o astfel de consola ​la o scara mult mai mica+  * Scopul ​proiectului ​este de a simula comportamentul unei console de jocuri de tip handheld. ​Acest concept presupune integrarea tuturor componentelor hardware ​(microcontrolerulecranul, joystick-ul și butoaneleîntr-un format compact ​și ergonomic. 
-  * Proiectul ​prezinta ​un exercitiu ​bun in optimizarea ​codului unui joc video interactiv ​pentru ​limitarile pe care le prezinta ​un microcontroller (memorie ​limitata, clock speed limitat, etc.).+ 
 +  * Ideea proiectului a pornit ​de la consolele pe care le-am folosit de-a lungul anilorcum ar fi Nintendo DS sau Steam Deck, și de la un joc clasic al copilăriei mele: "​Chicken Invaders"​. Practic, mi-am propus să construiesc propria versiune a unei astfel de console, realizată de la zero și la o scară ​mult mai mică. 
 + 
 +  * Proiectul ​este, de asemenea, ​un exercițiu ​bun de optimizare și adaptare a codului unui joc video pentru un microcontroller, care are mai multe limitări ​(memorie ​redusă, clock speed scăzut, etc.).
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 12: Line 15:
 {{:​pm:​prj2026:​ciprian.popescu0411:​alex_stoian_diagram.png?​500|}} {{:​pm:​prj2026:​ciprian.popescu0411:​alex_stoian_diagram.png?​500|}}
  
 +
 +Jocul este implementat pe microcontroller-ul ATmega328p și include următoarele funcționalități:​
 +
 +* Afișaj video: Comunicarea cu ecranul LCD se realizează prin protocolul SPI.
 +
 +* Controlul mișcării: Coordonatele navei sunt controlate prin joystick. Tensiunile potențiometrelor aferente axelor X și Y sunt convertite în valori numerice prin modulul ADC integrat pe microcontroller.
 +
 +* Acțiuni: Butoanele sunt conectate la pinii digitali (GPIO). Pentru a filtra zgomotul mecanic (contact bounce) fără a folosi funcții blocante precum delay(), se utilizează un algoritm de debouncing bazat pe Timere.
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> +==== Bill of Materials ==== 
-Aici puneţi tot ce ţine de hardware design: + 
-  ​* listă de piese +^ Nr. crt. ^ Nume componentă ^ Specificații ^ Cantitate ^ 
-  * scheme electrice ​(se pot lua şde pe Internet şi din datasheet-urie.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +| 1 | Arduino Uno | Placă de dezvoltare bazată pe microcontroller-ul ATmega328p ​ | 1 | 
-  * diagrame de semnal ​ +| 2 | Modul ecran LCD | Modul LCD de 1.44''​ cu SPI și Controller ST7735 (128x128 px) | 1 | 
-  * rezultatele simulării +| 3 | Joystick analogic | Modul joystick cu 2 potențiometre (axa X, axa Y) | 1 | 
-</​note>​+| 4 | Buton (Push button) | Microîntrerupător tactil | 2 | 
 +| 5 | Breadboard | Placă de test 830 de puncte | 1 | 
 +| 6 | Fire de conexiune | Set fire Dupont ​(Male-Male, Male-Female) | 1 set | 
 +| 7 | Cablu USB | Pentru alimentare șprogramare | 1 | 
 + 
 + 
 +==== Descriere componente ==== 
 + 
 +Placa Arduino Uno: Aceasta conține microcontroller-ul ATmega328p care gestionează logica joculuiafișajul pe display și citește inputurile date de joystick și butoane. 
 + 
 +Ecran LCDPe acest ecran va fi afișat jocul "Micro Invaders"​ prin protocolul SPI
 + 
 +Joystick: Acesta conține 2 potențiometre care determină poziția navei pe ecran prin maparea valorilor sale la coordonatele X și Y.
  
 +Butoane: Folosite pentru a trage cu proiectile către inamici.
 ===== Software Design ===== ===== Software Design =====
  
pm/prj2026/ciprian.popescu0411/alexandru.stoian05.1778223831.txt.gz · Last modified: 2026/05/08 10:03 by alexandru.stoian05
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