Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:arosca:memorare-pattern [2022/04/21 22:12]
maria.brinza
pm:prj2022:arosca:memorare-pattern [2022/05/27 08:29] (current)
maria.brinza
Line 2: Line 2:
 **Autor:** [[maria.brinza@stud.acs.upb.ro|Maria-Cristina Brînză]] **Autor:** [[maria.brinza@stud.acs.upb.ro|Maria-Cristina Brînză]]
 ===== Introducere ===== ===== Introducere =====
-  * Jocul consta in memorare ​pattern-ului de culori in care se aprinde o matrice. Jucatorul poate castiga cat mai multe puncte pe masura ce avanseaza+  * 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 ​+  * 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 generală =====
 +===   ​Descriere ===
   * LED-urile unei matrici se vor aprinde intr-un pattern generat random si vor sta aprinse doar cateva secunde. ​   * 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 ​un joystickExista ​cateva culori posibile prin care acesta va trece. ​Daca rezultatul este corectacesta va primi un numar de puncte proportional cu runda. In caz contrarjocul se va reseta. In ambele situatii buzzer-ul va scoate ​un sunet potrivit.+  * Jucatorul trebuie sa retina acest pattern si sa il refaca folosind ​o telecomanda IRMatricea 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 finalin 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: +===   Schema bloc === 
- ​{{:​pm:​prj2022:​arosca:​schemablocpm.drawio.png?600|}}+{{:​pm:​prj2022:​arosca:​brz_bloc.jpg?600|}} 
 + 
 + 
 +===    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 ===== ===== Hardware Design =====
-Piese necesare:+===   ​Schema electrica === 
 +{{:​pm:​prj2022:​arosca:​pattern_memory.png?​600|}} 
 +{{:​pm:​prj2022:​arosca:​pattern_memory_page-0001.jpg?​600|}} 
 + 
 +===   Piese necesare ​===
   * Arduino Uno R3   * Arduino Uno R3
   * Breadboard   * Breadboard
-  * LED-uri+  * LED 
 +  * LED RGB
   * Buzzer   * Buzzer
-  * Joystick +  * IR Sensor 
-  * LCD +  * IR Remote
-  * Butoane+
   * Fire   * 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: {{:​pm:​prj2022:​arosca:​proiect_pm.zip|}}
 +
 +===== Rezultate obtinute =====
 +===  Demo ===
 +https://​www.youtube.com/​watch?​v=ze6ONo2SBAo&​ab_channel=Maria-CristinaBrinza
 +
 +===  Proiect ===
 +{{:​pm:​prj2022:​arosca:​proiect0.jpg?​700|}}
 +{{:​pm:​prj2022:​arosca:​proiect1.jpg?​700|}}
 +
 +===== 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 =====
 +  * http://​www.gammon.com.au/​forum/?​id=11504&​reply=11#​reply11
 +  * https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2021/​agrigore/​plusivo_nano_starter_kit_guide.pdf
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2022/arosca/memorare-pattern.1650568356.txt.gz · Last modified: 2022/04/21 22:12 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