Wii Fruit Ninja

E-mail contact: dragos_andrei.boncu@stud.acs.upb.ro

Introducere

Ce face proiectul?

Proiectul este un joc asemănător cu celebrul joc pe Smartphone, Fruit Ninja. Proiectul prezintă un ecran LCD pe care va apărea un fruct la cateva secunde și o direcție din care este indicat ca fructul să fie tăiat. Jucătorul prezintă o sabie, asemănător cu controller-ul Wii, ce prezintă un modul accelerometru/giroscop pentru a înregistra mișcările și direcția de tăiere. În cazul în care jucătorul taie o bombă(obiect de pe ecran), sau sensul tăierii este greșit, unul dintre led-urile ce vor reprezenta viețile jucătorului se va închide, iar buzzer-ul va produce un sunet specific. De asemenea, sabia prezintă un buton de lock pentru a ignora miscările greșite ale utilizatorului.

Care este scopul proiectului?

Scopul este crearea unui joc asemănător cu cele de pe consola Wii care este totodată interactiv.

Ideea de la care am pornit

Am plecat de la dorința de a face un proiect bazat pe înregistrarea mișcărilor folosind senzori de proximitate sau un accelerometru/giroscop.

Utilitate

-distracție
-dezvoltare timp de reacție

Descriere generală

Schemă bloc

Descriere schemă bloc

Jucătorul va trimite input-uri către Arduino prin intermediul sabiei legată la modul, și prin intermediul butoanelor(exemplu: cel de lock, ca va bloca acceptarea input-urilor de la modul). Aceste inputuri vor fi folosite în cadrul gameplay-ului propriu-zis, de unde, în funcție de rezultate, se va trimite un semnal către buzzer, ori led-ul/led-urile nu va/vor mai primi curent din partea placuței Arduino.

Hardware design

Listă componente

-Arduino
-breadboard
-fire
-2 butoane
-ecran LCD
-1 buzzer
-3 led-uri
-3 rezistente
-modul accelerometru si giroscop

Schema electrică

Software design

Proiectul a fost realizat în Arduino IDE. Pentru realizarea proiectului am folosit următoarele biblioteci:
-TFT.h si SPI.h folosite pentru LCD-ul KMR-1.8 SPI
-Wire.h folosit pentru MPU9250

Jocul începe cu un ecran de start joc, definit in setup(). Dacă butonul de reset este apăsat, se apelează funcția reset() ce pornește jocul, împreună cu cele 3 led-uri și generarea fructelor/direcțiilor de tăiere. Pe parcursul funcției loop(), se apelează funcția drawFruit() ce generează un număr random de la 0 la 6(6 fructe) si drawPointer() pentru săgeți. Se citește poziția inițială a accelerometrului și, după un delay de 2 secunde, dacă butonul 2 este apăsat, se preiau, din nou, informații despre accelerometru. În funcție de aceste coordonate se stabilește un boolean cu privire la tăiere, și la tăierea corectă, în funcție de pointer-ul afișat pe ecran. Dacă o bombă este tăiată sau un fruct nu este tăiat pe direcția dată, se pierde o viață, se stinge un led, și se activează sunetul buzzer-ului pentru 0.25 secunde. Când se pierd toate viețile, va apărea pe un ecran cu mesajul “You lost!” și jocul se poate lua de la capăt. Dacă fructul este tăiat corect, jucătorul primește o viață înapoi și pe ecran va aparea o linie pentru fiecare punct din scor. Cand este atins scorul de 40 de puncte, jocul este considerat câștigat.

Rezultate obținute

Proiectul în starea de start(fără să fie apăsat vreun buton):

Proiectul pe parcursul jocului(în timp ce sunt generate fructe):

Jocul după ce este încheiat și pierdut:

Jocul după ce este încheiat și câștigat:

Videoclipul cu o prezentare completă a jocului:
https://www.youtube.com/watch?v=fhswxOtmCJw&ab_channel=Dragos-AndreiBoncu

Concluzii

A fost un proiect foarte interesant. A fost super distractiv să mă joc cu afișarea pe LCD și cu accelerometrul. Partea de hardware a reprezentat o mică dificultate din cauza numărului foarte mare de fire folosite și din cauza mărimilor foarte mici ale pieselor, dar pe partea de software, totul a mers aproape perfect. Singurele probleme apărute pe parcurs au fost: LCD-ul precedent ce a avut pinii dezlipiți, iar lipirea lor mai mult au stricat funcționalitatea LCD-ului, și intensitatea slabă a unui LED ce oferă senzația că este ars sau că nu merge.

Download

Arhiva cu codul Arduino IDE: Wii Fruit Ninja

Bibliografie/Resurse

Documentația în format PDF

pm/prj2021/dbrigalda/wiifruitninja.txt · Last modified: 2021/06/01 20:56 by dragos_andrei.boncu
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