This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:rares.gheorghe0612 [2026/05/18 14:42] 127.0.0.1 external edit |
pm:prj2026:bianca.popa1106:rares.gheorghe0612 [2026/05/23 12:30] (current) rares.gheorghe0612 |
||
|---|---|---|---|
| Line 55: | Line 55: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | |||
| - | === Link Github === | ||
| - | https://github.com/Rares123121/ProiectPM | ||
| ===Mediu de Dezvoltare=== | ===Mediu de Dezvoltare=== | ||
| Line 98: | Line 95: | ||
| * **sunetTimpBun()/sunetTimpRau()** - folosind functia anterioara, generez niste secvente de sunete pentru fiecare caz al timpului obtinut | * **sunetTimpBun()/sunetTimpRau()** - folosind functia anterioara, generez niste secvente de sunete pentru fiecare caz al timpului obtinut | ||
| * **main()** - contine toata logica de debounce, de citire a datelor primite de pe aplicatia de pe teleofon, prin UART si de controlul masinii de stari | * **main()** - contine toata logica de debounce, de citire a datelor primite de pe aplicatia de pe teleofon, prin UART si de controlul masinii de stari | ||
| + | |||
| + | ===== Rezultate obtinute ===== | ||
| + | |||
| + | Am reusit sa construiesc un sistem care cronometreaza timpul pe care un jucator il inregistreaza atunci cand trebuie sa reactioneze la un stimul vizual, astfel: | ||
| + | |||
| + | * **Integrare hardware si precizie**: Microcontrollerul gestioneaza inputul fizic(apasarea de buton) si comunicarea prin Bluetooth. Timpul de reactie este numarat folosind intreruperi o data la fiecare milisecunde, ceea ce ofera o precizie buna, totul fiind non-blocant, utilizand Timer0. | ||
| + | * **Feedback sonor si vizual**: Jocul ofera atat un feedback sonor, prin buzzer, cat si unul vizual, prin cele 4 LED-uri ce simulaza startul jocului, care este complet aleator special pentru a asigura ca jucatorul nu invata cand sa apese. Buzzerul este controloat prin Timer2 setat in FastPWM pentru a emite diferite sunete in functie de timpul scos. | ||
| + | * ** Comunicatie prin Bluetooth**: Controllerul comunica in timp real prin Bluetooth cu o aplicatie de pe telefon astfel: atunci cand este calculat timpul de reactie el este afisat pe telefon, iar cand de pe telefon se lanseaza comanda "START" jocul incepe. | ||
| + | * ** Arhitectura Software**: Codul este gandit sub forma unui aparat de stari, unde fiecare stare reprezinta in ce etapa a jocului suntem(start, in timpul jocul, pregatire). Mai mult, folosesc un sistem de debouncing non blocant pentru a detecta o apasare corecta de buton. | ||
| + | |||
| + | === Media pentru proiect === | ||
| + | |||
| + | ** Link video proiect YouTube ** | ||
| + | https://www.youtube.com/watch?v=rPKtpC0Egbc | ||
| + | |||
| + | ** Aplicatie Bluetooth ** | ||
| + | |||
| + | {{:pm:prj2026:bianca.popa1106:ss_de_pe_aplicatia_bluetooth.jpg?200|}} | ||
| + | |||
| + | ===== Concluzii ===== | ||
| + | |||
| + | Codul implementat pentru proiect, alaturi de poze sunt pe acest repo de GitHub: | ||
| + | https://github.com/Rares123121/ProiectPM | ||