Doodle Jump
Introducere
Prezentarea pe scurt a proiectului vostru:
Reproducerea jocului Doodle Jump programat pe Arduino care sa ruleze pe un ecran LCD;
Scopul proiectului este de a creea un copie a unui Game Boy portabil pentru entertainment;
Proiectul este util pentru mine pentru ca o sa imi pot pune in practica multe cunostiinte capatate la laborator;
Descriere generală
Scopul jocului Doodle Jump este ca personajul principal din joc sa sara pe niste tiles si sa evite inamicii astfel incat sa ajunga cat mai sus, scorul jocului fiind dat de altitudinea la care ajuns.
Proiectul va fi realizat folosind Arduino Uno. Acesta va fi conectat la un ecran LCD pe care se va afisa caracterul principal din joc.
Acesta din urma poate executa 3 actiuni in joc:
- sa sara (actiune controlata de butonul de Jump);
- sa isi schimbe traiectoria sariturii in stanga sau in dreapta (actiune controlata de un JoyStick);
- sa lanseze un proiectil catre inamici (actiune controlata de butonul de Shoot);
Pe parcursul jocului, efectele sonare vor fi furnizate de un buzzer.
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ă.
Hardware Design
Lista piese folosite:
- Arduino uno
- Breadboard
- Modul Joystick
- Modul LCD
- Buzzer pasiv
- 2x Modul Button
- Sursa alimentare cu 2 bateri
Schema Hardware realizate in Fritzing:
Descrierea pinilor alesi:
- buzzer-ul va folosi un Pin IO si o conexiune la GND;
- joystick-ul va fi conectat la VCC, GND, la 2 pini analog pentru cele 2 axe si un pin digital;
- display-ul va fi conectat la VCC, GND si 5 pini digitali pentru controlul SPI;
Schema electrica autogenerata de Fritzing:
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare Arduino IDE
librării şi surse 3rd-party: MCUFRIEND_kbv.h, Adafruit_GFX.h, SPI.h pentru comunicarea cu display-ul LCD si pentru folosirea unor functii predefinite de desenat pe ecran;
algoritmi şi structuri implementate: o structura ce contine 4 variablie membru de tip int: width, height, x position, y position pentru a manipula caracterele (Doodle - personajul principal si padurile - barile pe care sare acesta);
Rezultate Obţinute
Download
Concluzii
Am participat la un proiect provocator care mi-a permis să îmi dezvolt semnificativ abilitățile de rezolvare a problemelor. Am identificat și remediat diverse greșeli de abordare, precum și dificultăți organizatorice sau tehnice, învățând din ele și îmbunătățindu-mi abilitățile.
Dezvoltarea codului a fost o provocare complexă, care a necesitat rescrierea codului de mai multe ori. Acest lucru mi-a permis să dobândesc cunoștințe valoroase și să descoper soluții inovative, stimulând totodată creșterea mea personală și profesională.
Bibliografie/Resurse