Wire Buzz Game

  • Autor: Stratila Vladislav
  • Grupa: 332-CC

Introducere

Proiectul consta in realizarea unui joc wire buzz care implică ghidarea unei bucle de metal (o „sondă”) de-a lungul unei lungimi de sârmă fără a atinge bucla de sârmă. Atunci când bucla și firul se ating, se afiseaza un mesaj pe LCD, iar dispozitivul emitent de sunet va emite un sunet, în mod tradițional un zgomot.Pe LCD va fi de asemenea afisata starea jocului si scorul.

Descriere Generala

Pentru acest proiect, se foloseste un Arduino Uno, Buzzer și două fire din aluminiu. Un LCD 16×2 este, de asemenea, interfațat pentru a afișa starea jocului. Ambele capete ale firului labirint vor fi conectate la pinii digitali al Arduino, iar firul mânerului este conectat la pinul de masă al Arduino. Pinii digitali sunt definiți ca pinii INPUT_PULLUP. Deci, atunci când firul mânerului atinge firul labirintului, acesta schimbă starea pinilor digitali la LOW, iar Buzzerul emite un sunet. O diodă este conectată la capătul firului de labirint, așa că atunci când treceți de acea diodă și atingeți firul de labirint cu sârmă rotundă, doar un pin va trece in LOW. În această condiție, un text de felicitare,timpul si scorul vor fi afișate pe ecranul LCD.

Hardware Design

Listă de piese

  1. Arduino UNO
  2. Breadboard
  3. Fire aluminiu
  4. Dioda
  5. 16×2 LCD keypad shield
  6. Buzzer
  7. Fire

Circuit Diagram

Software Design

Mediul de dezvoltare pe care l-am folosit:

  • Arduino IDE pentru implementarea codului
  • Fritzing pentru realizarea schemei

Biblioteci folosite:

  • LiquidCrystal.h - pentru utilizarea LCD-ului

Inceputul traseului(start) este conectata la pinul 2 si sfarsitul/dioda(end) la pinul 3.Firul cu care se parcurge traseul este conectat la GND.Buzzerul este conectat la pinul 11.

Pentru pastrarea numarului de contacte intre fir si traseu se foloseste variabila “contacts”.

La inceput pinii 2(start) si 3(end) sunt in starea HIGH. Atunci cand ambii pini trec in starea LOW inseamna ca firul a atins traseul.In acest caz se increameneteaza numarul de contacte si se reda un sunet.Pe LCD se afiseaza mereu numarul de atingeri din cadrul rundei curente.

Daca in cadrul unei runde firul a atins traseul de 10 ori atunci jocul se finiseaza si runda este pierduta.Se reda un sound folosind buzzerul si pe LCD se afiseaza mesajul “GAME OVER”.Pentru a putea incepe o noua runda trebuie sa apese butonul “right”.Dupa apasarea butonului de asemenea se reseteaza variabila “contacts” si se sterge mesajul de pe LCD.

In cazul in care pinul 3(end) trece in starea LOW iar pinul 2(start) ramane in starea HIGH inseamna ca firul a atins partea de jos a diodei si runda a fost castigata.Se reda un sound diferit de cele anterioare si se afiseaza pe LCD mesajul “You Win The Game”.

Rezultate Obținute

Concluzii

Consider ca a fost un proiect foarte interesant, din care am avut multe de invatat, atat pe partea de hardware cat si pe cea de software si rezultatul este unul satisfacator.

Download

Documentația în format PDF

Codul sursa wirebuzzgame.zip

Jurnal

  • 02.05.2021 - Introducere,lista piese
  • 16.05.2021 - Schema circuitului in Fritzing
  • 28.05.2021 - Implementare Hardware
  • 29.05.2021 - Implementare Software
  • 02.06.2021 - Adaugare circuit in cutie

Bibliografie/Resurse

pm/prj2021/apredescu/wirebuzz.txt · Last modified: 2021/06/04 14:58 by vladislav.stratila
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