This is an old revision of the document!
Just Dance Tap Edition (Reaction Time Tester)
Introducere
Proiectul creează un sistem interactiv format dintr-un display și un difuzor. Display-ul afișează grupul de butoane vizat, iar led-ul indică culoarea corectă. Sistemul calculează un scor în funcție de acuratețea și viteza cu care se apasă butoanele. Scorurile sunt salvate pe un card SD pentru a crea un clasament.
Scopul principal este de a crea un joc distractiv și captivant care poate fi utilizat de persoane de toate vârstele. Jocul poate fi folosit pentru a îmbunătăți coordonarea mână-ochi, reflexele și viteza de reacție.
Just Dance / Dance Dance Revolution / Piano Tiles
Reaction time games / F1 start grid
Descriere generală
Utilizatorul are următoarele opțiuni:
Hardware Design
Software Design
Descrierea codului:
Proiectul este conceput pentru a rula un joc bazat pe timpul de reacție, utilizând un Arduino, un LCD, LED-uri pentru indicii vizuale și un buton pentru interacțiunea utilizatorului. Firmware-ul gestionează inițializarea jocului, logica jocului, interacțiunea cu utilizatorul și gestionarea scorurilor. Timpul de reacție al jucătorului este înregistrat și penalizat dacă nu se încadrează în pragul de timp așteptat.
Mediu de dezvoltare:
Firmware-ul a fost dezvoltat folosind Arduino IDE.
Biblioteci şi surse 3rd-party:
LiquidCrystal Library: interfațarea cu LCD-ul
SD Library: interfațarea cu un modul de card SD, pentru citirea și scrierea datelor pe un card SD
Algoritmi şi structuri:
Selecția aleatorie a LED-urilor: Un algoritm pentru a selecta aleatoriu unul dintre cele trei LED-uri (albastru, galben, roșu) pentru a se aprinde.
Detecția apăsării butoanelor: O structură pentru a detecta apăsările butoanelor și a determina dacă a fost apăsat butonul corect în funcție de culoarea LED-ului și zona butoanelor (STÂNGA sau DREAPTA).
Calcularea timpului de reacție: Un algoritm pentru a calcula timpul de reacție al jucătorului (suma timpilor individuali).
Surse și funcții implementate:
setup(): Inițializează componentele hardware și afișează mesajul inițial pe LCD.
loop(): Conține bucla principală a jocului, verificând apăsările butonului pentru a începe jocul sau a salva scorul.
startGame(): Resetează variabilele jocului și începe jocul.
playGame(): Gestionează logica principală a jocului, inclusiv aprinderea LED-urilor, detectarea apăsărilor butoanelor și înregistrarea timpilor de reacție.
endGame(): Calculează timpul total și mediu de reacție, le afișează și gestionează promptul de salvare a scorului.
saveScore(): Scrie scorul jucătorului pe cardul SD.
getScoreRanking(): Citește scorurile de pe cardul SD și calculează clasamentul jucătorului.
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
Jurnal
5 Mai - introducere, descriere generală și hardware (doar lista de componente)
17 Mai - componentele folosite și rolul lor, schema electrică, imagini cu componentele conectate (funcționale)
19 Mai - implementare software joc
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF