This is an old revision of the document!
Rhythm Game
Nume: Vârban Ana-Maria
Grupa: 336CB
Introducere
Proiectul consta in implementarea unui joc de ritm in stil similar jocurilor precum TapTap, Piano Tiles sau SuperStar. In mod specific, jucatorul trebuie sa apese butoanele disponibile pe ritmul notelor muzicale ce vor aparea pe un ecran. Astfel, jucatorul va obtine un scor ce va depinde de numarul de note apasate la timp si acuratetea cu care au fost apasate acestea. Jocul se va sfarsi la finalul melodiei iar scorul va aparea pe ecran.
Descriere generală
Pe display-ul LCD va aparea un prompt de start pentru a putea incepe jocul. Jucatorul va porni jocul folosind butoanele de control.
Notele vor aparea pe ecran alaturi de scorul obtinut de jucator pana atunci, iar acesta va trebui sa apese butoanele de joc pe ritmul melodiei pentru a obtine un scor cat mai bun.
Jocul se incheie la terminarea melodiei iar scorul obtinut este afisat pe ecran.
Jucatorul poate alege dintre optiunile de exit si replay. Optiunea exit va duce catre ecranul de start iar optiunea replay va restarta melodia. Selectia se va face folosind butoanele de control.
Schema Bloc
Hardware Design
Piese folosite:
* Arduino Uno (ATMega328p)
* Ecran LCD (LCD SPI 2.4" ILI9341)
* Butoane (4 butoane pentru joc, 2 pentru control)
* Buzzer pasiv
* Rezistori 10k
* Fire de legatura
* Breadboard
Schema Electrica
Implementarea Hardware
Dupa cum se poate observa, am asezat cele 4 butoane ce vor fi folosite pentru joc in stanga breadboard-ului, iar cele 2 butoane de control in partea dreapta. Butoanele sunt conectate alaturi de cate un rezistor de 10K ce actioneaza ca rezistenta de pull down. Cele 6 butoane sunt conectate la pinii digitali de pe placuta Arduino Uno. Ecranul LCD este asezat pe breadboard alaturi de rezistori de 10K, conform indicatiilor distribuitorului. Aceste rezistente previn arderea display-ului. Pinii folositi pentru LCD sunt pinii digitali 8, 9, 11-13. Buzzerul este conectat la unul dintre pinii digitali PWM ai placutei Arduino, acesta nefiind inseriat cu un rezistor pentru un sunet mai puternic.
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Bibliografie/Resurse