Table of Contents

Whack-A-Mole

Introducere

Proiectul este un joc interactiv de tip arcade, cu scop de entertainment, în care 4 servomotoare simulează apariția unor ținte (“cârtițe”) la intervale aleatoare. Jucătorul trebuie să apese rapid butonul corespunzător fiecărei ținte pentru a înregistra o lovitură. Un câștig se obține la lovirea unui număr fixat de cârtițe în timpul alocat.

Ideea principală a fost de a implementa o logică de tip automat cu stări finite, ca un joc cu diverse animații și sunete care să atragă potențiali jucători.

Proiectul integrează un afișaj cu interfață I2C pentru monitorizarea timpului și a scorului, un potențiometru pentru ajustarea dificultății, un buzzer pasiv pentru sunete la acțiuni și câștig și un set de LED-uri pentru generarea unor animații la finalizarea jocului.

Poate fi util persoanelor de toate vârstele, inclusiv copiilor, care doresc să joace runde rapide cu feedback vizual plăcut.

Descriere generală

O rundă se începe prin apăsarea butonului de start.

Microcontrolerul contorizează timpul rămas prin intermediul unui timer intern (pentru durata totală a rundei).

Un singur servomotor va fi activat la un moment dat, după un număr generat aleator.

Potențiometrul se citește de pe un pin ADC și descrie durata de activare a servomotorului, adică dificultatea aleasă.

Dacă se detectează o apăsare a butonului corespunzător în acest timp, scorul crește, și este afișat pe ecran, alături de timpul rămas și de dificultate.

Simultan, se emite un semnal PWM pe pinul buzzer-ului pentru confirmare sonoră. La câștig, se activează și buzzer-ul, și ledurile cu o animație.

Hardware Design

Listă de componente:

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF