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

  • Arduino IDE
  • Tinkercad – pentru realizarea schemei electrice

Biblioteci

  • IRRemote.h - folosita la senzorul IR
  • TonePlayer - folosita pentru a folosi buzzer-ul in paralel cu senzorul IR

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

pm/prj2022/arosca/memorare-pattern.txt · Last modified: 2022/05/27 08:29 by maria.brinza
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