Pattern Memory
Introducere
Jocul consta in memorarea pattern-ului de culori in care se aprinde o matrice.
Scopul acestuia este de a pune la incercare, dar si de a dezvolta atentia la detalii. Astfel de jocuri pot fi utile in dezvoltarea personala.
Descriere generală
Descriere
LED-urile unei matrici se vor aprinde intr-un pattern generat random si vor sta aprinse doar cateva secunde.
Jucatorul trebuie sa retina acest pattern si sa il refaca folosind o telecomanda IR. Matricea este formata din 4 LED-uri si 2 LED-uri RGB. Pentru LED-uri, jucatorul poate alege din cele 2 stari posibile: aprins sau stins, iar pentru RGB-uri exista cateva culori posibile prin care acesta va trece.
La final, in functie de rezultat, se va aprinde LED-ul verde daca jucatorul a reusit sa retina pattern-ul si LED-ul rosu in caz contrar. Fiecare din cele 2 cazuri vine si cu un sunet potrivit.
Schema bloc
Functionalitate
Matricea de LED-uri se aprinde timp ce cateva secunde, timp in care buzzer-ul suna. Dupa ce se stinge, jucatorul foloseste telecomanda IR astfel: pentru primul LED (pozitia [0, 0]), apasand butonul cu numarul '1' acesta se va aprinde sau se va stinge, in functie de starea anterioara. La fel se va proceda si cu celelalte LED-uri. In cazul RGB-urilor, apasarea butonului corespunzator va produce ciclarea prin culorile posibile. Atunci cand considera ca a terminat, jucatorul se poate verifica apasand butonul “EQ”.
Daca rezolvarea trimisa este corecta, se va transmite feedback prin culoarea LED-ului aprins si prin sunetul facut de Buzzer. Dupa cateva secunde, jocul se va reseta.
Hardware Design
Schema electrica
Piese necesare
Arduino Uno R3
Breadboard
LED
LED RGB
Buzzer
IR Sensor
IR Remote
Fire
Software Design
Medii de dezvoltare
Biblioteci
Functii
translateIR() - verifica input-ul primit de senzorul IR si modifica starea unui LED in functie de cazul respectiv.
turnLEDsOn() - aprinde LED-urile dupa pattern-ul generat random
turnLEDsOnGame() - aprinde becurile in functie de input-ul dat de jucator
zeroValues() - reseteaza valorile pentru a reincepe un nou joc
wrongAnswerSound() / correctAnswerSound() - porneste buzzer-ul in functie de rezultatul obtinut.
Cod sursa: proiect_pm.zip
Rezultate obtinute
Demo
Proiect
Concluzii
Proiectul a fost realizat in intregime, rezultatul acestuia fiind cel dorit.
Proiectul a fost foarte util pentru a intelege proiectarea cu microprocesoare, fiind o introducere draguta in Arduino.
Jurnal
20 - aprilie - 2022: Alegerea temei
21 - aprilie - 2022: Realizarea paginii de wiki
23 - mai - 2022: Inceperea proiectului - conectarea LED-urilor
25 - mai - 2022: Finalizarea proiectului
26 - mai - 2022: Finalizarea paginii de wiki
Bibliografie