Marian POSEDARU (25579) - Doodle Jump

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Doodle Jump este un joc bazat pe indemanare. Scopul jocului este acela de a testa cat mai bine coordonarea mana-ochi a utilizatorului si a genera o competitie intre prieteni pentru atingerea celui mai inalt scor. Acest joc a existat pe primele terminale ce aveau in ele un giroscop, si am fost fascinat inca din primul moment de faptul ca omul de pe ecran se ducea in directia in care eu inclinam device-ul, de aceea am decis sa imi construiesc propriul meu joc de acest gen. Utilitatea proeiectului este creearea de amuzament si eliminarea plictiselii.

Descriere generală

Jocul va incepe la apasarea butonului, iar miscarile personajului vor fi realizate prin rotatia accelerometrului. Rezultul procesarii datelor (miscarile personajului) vor fi vizibile pe LCD-ul grafic.

Schema Bloc

Hardware Design

Lista Componente

Schema Electrica

Software Design

Am scris codul folosind Programmers Notepad pe Windows 10, 64 biţi, in mediul WinAVR. Pentru a încărca orice fișier .hex prin HIDBootFlash x.1.0 pe microcontroller, este necesar să se țină apăsat pe butonul RESET, apoi pe BTN concomitent. Dand drumul la RESET, iar apoi la BTN, dispozitivul este gata sa incarce codul.

Mediul jocului este desenat pe un LCD Grafic ce comunica cu Microcontroller-ul prin SPI. Jocul include un player (un cub de 10x10px) care sare neincetat pe platforme generate succesiv (linii de 50px lungime si 1px grosime). Daca player-ul nu loveste o patforma, acesta cade la nesfarsit semn ca jocul s-a incetat si ar trebui sa incerce din nou. O data ce player-ul ajunge destul de sus, platformele coboara pentru a putea fi vizibile pe LCD si player-ul sa ramana mereu in centru. Scopul jocului este ca player-ul sa ajunga la ultima platforma.

Miscarea stanga-dreapta a player-ului este realizata cu ajutorul unui modul accelrometru-gyroscop MPU-6050 prin care Microcontroller-ul comunica prin protocolul I2C (o oroare a omenilor neexprimentati), prin intermediul unui Level Shifter (pentru ca nu m-am gandit sa imi leg placuta la 3V3) care sa converteasca 5V in 3V3. Player-ul se misca in stanga cand X-ul de pe gyroscop este negativ si in dreapta cand acesta este pozitiv

UPDATE Din pacate am ars modulul ce contine gyroscopul si am repus jocul pe doua butoane, care atunci cand sunt apasate misca player-ul in stanga sau dreapta.

Rezultate Obţinute

Concluzii

Sunt foarte multumit de rezultatul obtinut si de faptul ca am pornit de la placa de baza si am ajuns sa interactionez cu jocul de Doodle Jump prin LCD. De asemenea, ma bucur ca am invatat cum sa comunic cu module prin protoculul I2C cat si prin SPI.

Download

Arhiva contine codul si makefile: 334cb_marian_posedaru.zip

Bibliografie/Resurse

Datasheet LCD: st7735r_v0.2.pdf Datasheet MPU: mpu-6050_datasheet_v3_4.pdf

pm/prj2016/avoinescu/shkugan94.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