This shows you the differences between two versions of the page.
|
pm:prj2026:ciprian.popescu0411:alexandru.stoian05 [2026/05/06 14:37] alexandru.stoian05 created |
pm:prj2026:ciprian.popescu0411:alexandru.stoian05 [2026/05/15 16:59] (current) alexandru.stoian05 [Bill of Materials] |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | <note tip> | + | Prezentarea pe scurt a proiectului: |
| - | Prezentarea pe scurt a proiectului vostru: | + | * Proiectul constă într-un joc interactiv inspirat de „Chicken Invaders”, cu afișaj pe un ecran LCD, ce poate fi controlat cu ajutorul unui joystick și al unor butoane. |
| - | * ce face | + | |
| - | * care este scopul lui | + | * Scopul proiectului este de a simula comportamentul unei console de jocuri de tip handheld. Acest concept presupune integrarea tuturor componentelor hardware (microcontrolerul, ecranul, joystick-ul și butoanele) într-un format compact și ergonomic. |
| - | * care a fost ideea de la care aţi pornit | + | |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | * Ideea proiectului a pornit de la consolele pe care le-am folosit de-a lungul anilor, cum 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ă. |
| - | </note> | + | |
| + | * 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ă ===== | ||
| - | <note tip> | + | {{:pm:prj2026:ciprian.popescu0411:alex_stoian_diagram.png?500|}} |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | ||
| - | </note> | ||
| + | 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 şi de pe Internet şi din datasheet-uri, e.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 și programare | 1 | | ||
| + | |||
| + | |||
| + | ==== Descriere componente ==== | ||
| + | |||
| + | Placa Arduino Uno: Aceasta conține microcontroller-ul ATmega328p care gestionează logica jocului, afișajul pe display și citește inputurile date de joystick și butoane. | ||
| + | |||
| + | Ecran LCD: Pe 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 ===== | ||