This is an old revision of the document!


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ă este de a implementa o logică de tip automat cu stări finite, 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.

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

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:

  • 1 kit rezistente (din care se folosesc 4 de 220 ohmi pentru led-uri)
  • 1 buzzer pasiv pentru sunete la câștig
  • 1 breadboard 830 puncte pentru montaj
  • 1 potentiometru 10k pentru reglarea dificultății
  • 5 butoane pcb 12x12x7.3mm, 4 de joc si 1 de start joc
  • 4 capace roșii buton pcb 12x12x7.3mm
  • 1 display oled 0.96 inch
  • 4 servomotoare SG90
  • 4 leduri roșii
  • 1 placă compatibilă Arduino (cu uC ATmega328P)
  • 1 sursă alimentare 9V 2A
  • 1 set cabluri jumper breadboard

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

pm/prj2026/ciprian.popescu0411/razvan.miron.1778069917.txt.gz · Last modified: 2026/05/06 15:18 by razvan.miron
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0