This is an old revision of the document!
Proiectul constă în realizarea unui “Reaction Time Tester”, un dispozitiv hardware capabil să măsoare cu o precizie de milisecunde timpul de reacție uman la diferiți stimuli (vizuali și auditivi). Scopul acestui proiect este de a îmbina cunoștințele de bază de interacțiune hardware (butoane, LED-uri, semnale PWM) cu sisteme de comunicare wireless și stocare non-volatilă.
Aplicația este utilă atât ca un joc interactiv, cât și ca un instrument demonstrativ pentru măsurarea reflexelor, datele fiind trimise în timp real pe un smartphone.
Elemente de noutate: Spre deosebire de un cronometru clasic, sistemul aduce elemente de noutate prin implementarea unui modul Bluetooth HC-05 pentru afișarea wireless a rezultatelor pe un smartphone, precum și utilizarea memoriei interne EEPROM a microcontrolerului pentru salvarea permanentă a celui mai bun scor (High-Score), chiar și după deconectarea alimentării.
Mod de funcționare: Jocul va aștepta o inițializare din partea utilizatorului (apăsarea butonului de “Start”). Microcontrolerul va genera un interval de timp aleatoriu (delay) pentru a preveni anticiparea. După expirarea timpului, sistemul va declanșa fie un stimul vizual (LED aprins), fie un stimul auditiv (Buzzer). În acel moment, un Timer intern pornește măsurătoarea.
Utilizatorul trebuie să apese butonul de “Reacție” cât mai rapid. Apăsarea va declanșa o întrerupere hardware (External Interrupt) care va opri Timer-ul pentru o precizie maximă. Timpul scurs este calculat în milisecunde, trimis prin UART către modulul Bluetooth, iar dacă timpul este mai mic decât recordul precedent, acesta este actualizat în memoria EEPROM.
Ipoteza proiectului: Credem că timpul mediu de reacție al unui utilizator la stimulul auditiv (buzzer) va fi cu aproximativ 10-15% mai rapid decât reacția la stimulul vizual (LED), deoarece procesarea auditivă umană tinde să declanșeze reflexe motorii mai rapid. Această ipoteză va fi testată prin agregarea rezultatelor pe parcursul dezvoltării.
Lista de piese:
Mediu de dezvoltare: Microchip Studio / AVR-GCC.
Pentru realizarea acestui proiect se vor îngloba funcționalități din următoarele laboratoare:
Profilarea codului: Pentru a asigura acuratețea măsurătorilor, overhead-ul rutinei de tratare a întreruperii (ISR) trebuie să fie minim. Evaluarea performanței (profilarea) se va face setând un pin GPIO pe HIGH la intrarea în ISR și pe LOW la ieșirea din aceasta. Se va măsura durata pulsului generat (numărul de cicli de ceas / microsecunde) pentru a demonstra eficiența codului.
Metrici de performanță:
Activitățile au fost împărțite astfel pentru a urmări un progres incremental:
Această secțiune va fi completată după asamblarea și testarea hardware-ului final.
Această secțiune va conține sumarul experienței, dificultățile întâmpinate și posibile dezvoltări viitoare.