This is an old revision of the document!


Buzz Wire

Autor

Introducere

Voi crea un joc de tip Buzz Wire, în care jucătorul trebuie să transporte un inel de-a lungul unui traseu de sârmă cu o formă provocatoare, fără să atingă metalul.

Scopul proiectului este de a pune în aplicare cunoștințele acumulate de-a lungul semestrului, creând, totodată, un joc.

Descriere generală

Schema bloc:

Funcționalitate

La start, jucătorul apasă pe butonul de începere pentru a porni timer-ul și a activa buzzer-ul. De asemenea, LED-ul RGB, care indică numărul de greșeli curente, se va aprinde, difuzând o lumină verde.

Timer-ul va începe pe o bandă led, care va reprezenta scorul. Un timp mai mic de finalizare înseamnă un scor mai bun.

Jucătorul va mișca unealta de-a lungul traseului. Dacă atinge sârma, va fi avertizat printr-un buzz (pentru a da senzatia de curentare) și LED-ul RGB își va schimba culoarea (în portocaliu la prima greșeală, în roșu la a doua și stins la a treia).

Dacă LED-ul se stinge, jucătorul pierde si jocul, care se resetează. Când ajunge la final, el apasă pe butonul de stop, semnalizând finalul jocului. Scorul lui va rămâne câteva secunde pe banda led, fiind apoi înlocuit de scorul cel mai bun înregistrat de la pornirea plăcii.

Pe deasupra, va exista o melodie pusă pe fundal, prin intermediul buzzer-ului pentru a da senzația de joc arcade.

Hardware Design

Componente utilizate

  • Arduino Uno
  • 2 Breadboard-uri
  • Banda LED
  • LED RGB
  • 2 Butoane
  • Buzzer
  • Cabluri
  • Rezistențe
  • Sârmă
  • Placă de lemn
  • Bandă izolatoare

Software Design

Mediul de dezvoltare utilizat

  • Arduino IDE - scrierea codului și încărcarea lui pe plăcuță
  • EAGLE - dezvoltarea schemei electrice
  • Draw.io - crearea schemei bloc

Bibliotect folosite

  • pitches.h - rularea melodiei de fundal prin intermediul buzzer-ului

Funcții utilizate

  • buzz() - redarea unui buzz in momentul atingerii traseului
  • sing() - redarea melodiei de fundal pe baza milisecundelor trecute de la ultima iterație
  • updateTimer() - updatarea timer-ului pe baza milisecundelor trecute de la ultima iterație

Notă: logica jocului a fost implementată în funcția loop()

Rezultate Obţinute

todo

Concluzii

todo

Download

todo

Jurnal

25.04 - alegerea temei

Bibliografie/Resurse

pm/prj2021/agrigore/buzzwire.1622557577.txt.gz · Last modified: 2021/06/01 17:26 by robert.draganoiu
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