This shows you the differences between two versions of the page.
pm:prj2021:agrigore:buzzwire [2021/04/25 20:58] robert.draganoiu |
pm:prj2021:agrigore:buzzwire [2021/06/03 00:15] (current) vlad.sandu0308 |
||
---|---|---|---|
Line 3: | Line 3: | ||
[[robert.draganoiu@stud.acs.upb.ro|Drăgănoiu Robert]] | [[robert.draganoiu@stud.acs.upb.ro|Drăgănoiu Robert]] | ||
===== Introducere ===== | ===== 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. | + | Proiectul este reprezentat de un joc de tip Buzz Wire, în care jucătorul trebuie să transporte un inel cu mâner 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. | Scopul proiectului este de a pune în aplicare cunoștințele acumulate de-a lungul semestrului, creând, totodată, un joc. | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | ==== Schema bloc: ==== | + | ==== Schema bloc ==== |
- | {{ :pm:prj2021:agrigore:schema_block_buzz_wire.png |}} | + | {{:pm:prj2021:agrigore:schema_block_buzz_wire.png?600 |}} |
==== Funcționalitate ==== | ==== Funcționalitate ==== | ||
- | La start, jucătorul apasă pe butonul de începere pentru a porni timerul și a activa buzzerul. | + | 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. |
- | Timerul va începe pe un ecran led, care va reprezenta scorul. Un timp mai mic de finalizare înseamnă un scor mai bun. | + | 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 inelul (care va avea un mâner) de-a lungul traseului. Dacă atinge sârma, va fi avertizat printr-un buzz (pentru a da senzatia de curentare) și un led roșu se va aprinde. | + | 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). |
- | La 3 leduri roșii aprinse, jucătorul pierde si jocul, care se resetează. Când ajunge la final, el apasă pe buton și un led verde se aprinde, semnalizând finalul jocului. Scorul lui va rămâne câteva secunde pe ecran, fiind apoi înlocuit de scorul cel mai bun înregistrat de la pornirea plăcii. | + | 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 buzzerului pentru a da senzația de joc arcade. | + | Pe deasupra, va exista o melodie pusă pe fundal, prin intermediul buzzer-ului pentru a da senzația de joc arcade. |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
==== Componente utilizate ==== | ==== Componente utilizate ==== | ||
* Arduino Uno | * Arduino Uno | ||
- | * Breadboard | + | * 2 Breadboard-uri |
- | * Ecran LCD | + | * Banda LED |
- | * Buton | + | * LED RGB |
+ | * 2 Butoane | ||
* Buzzer | * Buzzer | ||
* Cabluri | * Cabluri | ||
- | * Fire | + | * Rezistențe |
+ | * Sârmă | ||
+ | * Placă de lemn | ||
+ | * Bandă izolatoare | ||
+ | |||
+ | ==== Schema Electrică ==== | ||
+ | {{:pm:prj2021:agrigore:buzzwire_sketch_bb.png?600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | todo | + | ==== Mediul de dezvoltare utilizat ==== |
+ | * Arduino IDE - scrierea codului și încărcarea lui pe plăcuță | ||
+ | * Fritzing - 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 | ||
+ | <note>Notă: logica jocului a fost implementată în funcția loop()</note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | todo | + | Demo: [[https://youtu.be/u3t0GDF1Mbw]] |
+ | |||
+ | {{:pm:prj2021:agrigore:buzzwire_rez_1_.jpg?500|}} | ||
+ | {{:pm:prj2021:agrigore:buzzwire_rez_2_.jpg?500|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | todo | + | Consider că dezvoltarea jocului a fost o experiență utilă, un bun prim contact cu lucrul cu microprocesoare, care a îmbinat construirea în atelier a jocului, conectarea componentelor pentru realizarea circuitului și dezvoltarea codului pentru Arduino, rezultând intr-un produs final, utilizabil. |
- | + | ||
- | ===== Download ===== | + | |
- | todo | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | 25.04 - alegerea temei | + | * 25.04 - alegerea temei |
+ | * 10.05 - achiziționarea componentelor | ||
+ | * 20.05 - schema electrică | ||
+ | * 22.05 - crearea jocului fizic în atelier | ||
+ | * 23.05 - implementarea buzzer-ului și conectarea la jocul fizic | ||
+ | * 29.05 - adăugarea LED-ului pentru greșeli și a timer-ului | ||
+ | * 01.06 - curățare cod, ajustare schemă electrică, filmarea demo-ului și updatarea documentației | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | [[https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/buzzwire?do=export_pdf|Descarcă pagina în format pdf.]] | + | * {{:pm:prj2021:agrigore:plusivo_nano_starter_kit_guide.pdf|}} |
+ | * [[https://www.makeuseof.com/tag/make-buzz-wire-game-arduino/]] | ||
+ | |||
+ | Arhivă cod: {{:pm:prj2021:agrigore:buzzwirecode.zip|}} | ||
+ | |||
+ | [[https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/buzzwire?do=export_pdf|Descarcă pagina în format pdf]] | ||
+ | |||