Nume: Popa Ioana-Theodora
Grupă: 336CB
Proiectul meu este o interpretare a unui joc fizic, in care există un labirint, iar scopul este de a duce o minge dintr-un punct de plecare până în alt punct stabilit. Problema care apare este faptul că într-un astfel de joc fizic, labirintul nu poate fi schimbat des, așa că introducerea unei variante digitalizate ar putea să varieze mult mai des labirintul.
Jocul va începe prin apăsarea unui buton. Mingea va fi afișată pe ecran pe o poziție inițială și utilizatorul poate să înceapă să o miște. Acest lucru se face prin mișcarea fizică a ecranului. Pentru a prelua informațiile asupra poziției și unghiului de inclinare din mediul extern, voi folosi un giroscop și accelerometru. Datele vor fi transmise și poziția mingii pe ecran se va modifica corespunzător. Astfel, jucătorul poate manipula poziția mingii și să o ducă în punctul final. De asemenea, în cazul coliziunii cu un perete al labirintului, mingea nu va fi lăsată să pătrundă în acea porțiune. Jocul se va desfășura într-un timp limită, iar la final, după expirarea acestuia sau după câștigul jucătorului, se va afișa un mesaj corespunzător.
Piesele folosite pentru acest proiect sunt:
În cazul de față, am conectat LCD-ul, giroscopul și butonul la Arduino Uno. Deoarece modelul de LCD folosit operează la 3.3 V, am folosit niște rezistențe de 10k. Modulul MPU6050 folosește protocolul I2C.
Jocul se imparte in patru stari de joc:
Pentru implementare, am folosit două biblioteci:
O problemă pe care am întâmpinat-o a fost generarea efectului de mișcare a bilei fără spike-uri, deoarece exista constant un lag. Am rezolvat această problemă făcând mingea mai mică și punând un delay între un frame și altul, dând o senzație aproximativ reală.
În final, am obținut un joculeț interesant, o interpretare a celui fizic, care permite adăugarea ușoară a altor moduri de joc, mișcarea mingii oferind senzația de realitate, iar coliziunile de asemenea.
Prin intermediul acestui joc, am reușit să învăț mai multe despre citirea unei documentații pentru anumite piese, despre interacțiunea pieselor cu plăcuța de Arduino și despre cum trebuie abordate anumite probleme în această instanță.