Sequence Guess Game
Introducere
Proiectul implementează un joc de tipul Mastermind. Scopul jucătorului este să ghicească o secvență aleatoare de simboluri unice generate de Arduino prin încercări repetate, acesta primind indicii de fiecare dată. Am pornit de la ideea jocului Wordle, a cărui concept e similar, însă în loc de secvențe aleatoare se folosesc cuvinte din limba engleză. Jocul este interesant și poate fi folosit pentru a antrena abilitățiile logice ale jucătorului.
Descriere generală
Joystick-ul este folosit pentru a permite jucătorului să introducă secvența dorită (prin mișcarea stânga-dreapta se selectează poziția, iar prin mișcarea sus-jos se selectează simboluri de la 1 la 9).
Pe ecranul LCD 16 x 2 se va afișa ultima încercare pe prima treime, secvența curentă pe a doua treime și timpul rămas pe a treia. Jucătorul va putea naviga în istoric, vizualizând și celelalte încercări, nu doar ultima.
LED-urile se vor aprinde corespunzător (câte un led verde pentru fiecare simbol pus corect în poziția corectă și câte un led galben pentru fiecare simbol corect dar pus în poziție incorectă). LED-urile se vor ajusta în funcție de încercarea vizualizată.
Când timpul alocat este aproape de a expira, buzzer-ul va emite semnale sonore de avertisment.
Hardware Design
Componente:
Arduino UNO
Joystick tip PS2
Ecran LCD 16×2 cu modul I2C
Buzzer pasiv
LED-uri verzi și galbene
Rezistențe, fire, breadboard
Software Design
Proiectul folosește următoarele funcționalităti ale plăcii Arduino:
-
Pinii analogici A0 și A1 și ADC-ul plăcii pentru a citi starea joystick-ului
Funcția tone() pentru a genera sunete pe buzzer
Timer-ul 1 pentru a temporiza trecerea secundelor
Pentru a genera o secvență de 4 cifre aleatoare care nu se repetă, am observat că metoda evidentă (generează câte o cifră și verifică dacă e egală cu vreo cifră generată anterior) nu e eficientă, iar placa stătea blocată încercând să genereze secvența. Pentru a genera mai rapid o secvență, am folosit algoritmul Fisher-Yates aplicat pe un vector care conține toate cifrele de la 0 la 9.
Rezultate Obţinute
Download
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF