This is an old revision of the document!


Consolă portabilă stil brick 9999 games

Introducere

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

„Cărămidă” cu jocuri stil brick 9999 games, cu

  • un afișaj LCD - ar fi nevoie pentru reimplementarea acelor console de 10×20 celule de afișaj + 4×4 celule afișaj secundar - o celulă logică va avea mai mulți pixeli fizici.
  • butoane, joystick cu input analogic pentru inputurile direcționale
  • motor cu vibrații pentru feedback la acțiunile din joc

Am un plan ambițios să implementez un nucleu scris în C++, ce va apela fișierele de joc - implementate într-un limbaj dinamic ușor de înglobat în partea compilată (Lua), implementând un API abstractizat pentru logica jocurilor a.î. logica jocului să nu se ocupe direct de citirea de registre și alte astfel de detalii.

Descriere generală

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

Elemente folosite:

  • RP2040 (microcontrollerul pe care l-am ales)
  • LCD (conectat prin SPI, afișează jocul)
  • Butoane (conectate la GPIO simplu)
  • Joystick (conectat la ADC, 2 axe)
  • Motor de vibrații (conectat la PWM)
  • Nucleu cod C++ (folosește biblioteca Lua, administrează IO-ul)
  • Codul jocurilor în Lua (strict logica jocurilor)

Hardware Design

Aici puneţi tot ce ţine de hardware design:

  • listă de piese
  • scheme electrice
  • diagrame de semnal
  • rezultatele simulării

  • Raspberry Pi Pico W (nu e nevoie de varianta W, dar pe asta o am și pe asta o folosesc)
  • Butoane (3)
  • LCD
  • Joystick
  • Motor vibrații
  • Cabluri, placă de prototipare
  • Rezistență (36 Ω - de o valoare pe care o aveam la îndemână, destul de mică, pentru limitarea curentului motorului de vibrații)

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.

Hardware

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.

https://github.com/ALEX11BR/proiect-pm

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/prj2025/rnedelcu/ioan_alexandru.popa.1747122022.txt.gz · Last modified: 2025/05/13 10:40 by ioan_alexandru.popa
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