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.
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.
Mediul de dezvoltare pe care l-am folosit:
Biblioteci folosite:
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”.
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.
Documentația în format PDF
Codul sursa wirebuzzgame.zip