Gameboy cu accelerometru

  1. Autor: Cacior Mihai
  2. Grupa: 333cc

Introducere

Proiectul este un gameboy, un dispozitiv pe care poti juca jocuri rudimentare. Voi folosi un display lcd pentru afisare si un accelerometru drept intrare. Scopul este de a crea un joc care ofera o experienta placuta.

Descriere generală

Scurta descriere a jocului implementat: Jucatorul detine o nava pe care o controleaza cu un joystick (acesta consista de un accelerometru si un montaj din piese lego). Nava se poate misca sus-jos stanga-dreapta in jumatatea de jos a ecranului si trage constant gloante in fata. Din fata inspre nava vin constant asteroizi de diferite marimi. Contactul unui asateroid cu nava rezulta in pierderea unei vieti. Gloantele distrug asteroizi. Scopul jocului este de a supravietui cat mai mult.

Schema Bloc

Hardware Design

Accelerometrul este lipit pe o componenta lego care poate pivota pe 2 axe, simulant astfel un joystick.

Ecranul este lipit pe o componenta lego care poate pivota pe o axa, utilizatorul putand sa il roteazsa in pozitia optima pentru sine.

Dispozitivul este portabil, putand fiind alimentat de orice baterie externa.

Componentele hardware sunt cuplate cu suportul facut din lego cu o combinatie de banda dublu adeziva, scotch si sperante.

Lista componente:

  1. Componentele de baza ale placii
  2. Modul Accelerometru și Giroscop cu 3 Axe MPU6050
  3. Modul LCD SPI de 1.8'' (128×160)
  4. Fire mama-mama
  5. Piese lego
  6. Baterie externa
  7. Cablu imprimanta

Schema Electrica

Software Design

Accelerometrul comunica cu procesorul atmega prin protocolul I2C, in scrierea codului m-am utilizat de tutorialul de la adresa [1] Am folosit din MPU6050 sensorul de acceleratie pentru a detecta orientarea lui pe axele X si Y.

Procesorul comunica cu display-ul prin protocolul SPI, in scrierea codului m-am utilizat de solutia de la laboratorul 5.

In functie de pozitia joystick-ului nava se va misca in una sau doua din cele patru directii cu viteza de 1 sau 2 pixeli per update de ecran.

Jocul se va misca din ce in ce mai rapid cu cat jucatorul va supravietui mai mult.

Jucatorul are trei vieti la inceputul jocului.

Rezultate Obtinute

Accelerometrul s-a dovedit a fi nesigur pe el, dand din cand in cand rezultate complet gresite. Asa ca am efectuat cate 10 citiri si am facut media lor, aceasta am folosito drept input la miscare a navei.

cacior_mihai_333cc_pm.zip

In final jocul are 3 nivele, din ce in ce mai dificile, si o tabela cu top 10 scoruri.

Bibliografie/Resurse

pm/prj2019/ctranca/cacior.mihai.txt · Last modified: 2021/04/14 17:07 (external edit)
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