This is an old revision of the document!


Micro Invaders

Introducere

Prezentarea pe scurt a proiectului:

  • 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.
  • 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.
  • 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ă.
  • 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ă

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

Bill of Materials

Nr. crt. Nume componentă Specificații Cantitate
1 Arduino Uno Placă de dezvoltare bazată pe microcontroller-ul ATmega328p 1
2 Modul ecran LCD Modul LCD de 1.44'' cu SPI și Controller ST7735 (128×128 px) 1
3 Joystick analogic Modul joystick cu 2 potențiometre (axa X, axa Y) 1
4 Butoane (Push buttons) Microîntrerupătoare tactile pentru acțiuni (shoot, dodge) 2
5 Breadboard Placă de test pentru realizarea proiectului cu 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

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/ciprian.popescu0411/alexandru.stoian05.1778227693.txt.gz · Last modified: 2026/05/08 11:08 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