This is an old revision of the document!


Remember the Glow

Student: Strîmbeanu Ionela Cristina
Grupa: 331CC

Introducere

  • Joc de memorie ce testeaza atentia si reactia rapida.
  • Scopul jocului: retinerea si reproducerea unei secvente de lumini, cu accent pe observarea schimbarilor dinamice din cadrul jocului.
  • Ideea a pornit din dorinta de a crea un joc interactiv si captivant, mai complex decat varianta traditionala a jocului Simon Says.
  • Util pentru evaluarea abilitatii de a mentine atentia intr-un mediu caracterizat de distrageri repetate.

Descriere generală

Etapele jocului:

  1. Pe matricea principala de LED-uri se va aprinde un LED.
  2. Pe cele doua matrici secundare de LED-uri se vor forma doua imagini. Matricile sunt conectate serial, miscorand astfel numarul de pini digitali necesari de pe microcontroler.
  3. Prin intermediul a doua butoane, simbolizand DA sau NU, jucatorul trebuie sa raspunda corect la intrebarea: “Cele doua imagini sunt la fel?”
  4. Se repeta pasii anteriori de 6 ori.
  5. Prin intermediul unei matrice de butoane, corespunzatoare LED-urilor de pe matricea principala, jucatorul trebuie sa introduca corect secventa de LED-uri aprinse anterior.
  6. Daca utilizatorul introduce corect secventa de lumini SI a raspuns corect la toate intrebarile referitoare la imagini, inseamna ca a castigat si se vor inalta steagurile victoriei, pe fundalul unei melodii triumfatoare.

Atentie la timp! Nu ai o vesnicie sa te gandesti.

Hardware Design

Schema hardware:

Lista piese:

  • Arduino MEGA2560
  • Matrice de LED-uri MAX7219 - folosite pentru reprezentarea efectiva a jocului: o matrice va reda secventa de lumini ce trebuie memorata, iar celelalte doua vor fi folosite pentru a arata jucatorului diferite combinatii de lumini (imagini)
  • Matrice de butoane 4×4 - permite jucatorului sa introduca secventa de lumini
  • Micro Servomotor SG90 - atunci cand jucatorul a castigat servomotoarele vor flutura mici stegulete
  • 4-Digit Display - folosit ca si cronometru, pentru a aminti jucatorului cat timp mai are
  • Butoane extra - doua la numar, folosite pentru ca jucatorul sa spuna daca cele doua matrici de LED-uri arata aceeasi imagine
  • Buzzer - folosit pentru a reda diferite sunete si melodii, in functie de momentul jocului
  • Breadboard

Stadiu actual:

  • Jocul in sine este aproape complet, atat d.p.d.v. harware, cat si software.
  • Matricile de LED-uri, butoanele si respectiv matricea de butoane functioneaza impreuna si corect.
  • Partea de servo motoare si buzzer, precum si cea de cronometru, functioneaza separat. Mai trebuie realizata integrarea lor in proiectul final.
  • De asemenea, doresc sa gasesc o modalitate de asezare/ascundere a firelor si asezarea proiectului pe un plan, astfel incat toate componentele sa fie fixe.

Alegerea pinilor:

  • Cum matricile de LED-uri folosesc SPI, am folosit pinii aferenti de pe placa, respectiv D51, D52, D53.
  • Dupa cum se observa pe schema hardware, am doua constructii diferite de matrici de LED-uri, motiv pentru care, pentru usurinta, matricea principala nu am conectat-o tot la pinii speciali de SPI de pe placa. In schimb, am conectat-o la pinii D36, D38, D40, biblioteca folosita realizand “bit banging”, ceea ce imi permite sa folosesc orice pini digitali.
  • Butoanele “DA” si “NU”, folosite pentru a afirma daca imaginile de pe cele doua matrici sunt identice, folosesc intreruperi externe, deci sunt conectate la pinii D20 si D21.
  • Cele doua Servo Motoare folosesc PWM si trebuie conectate la pini adecvati (care accepta PWM). Am ales random D2 si D12.
  • Restul componentelor folosesc pini digitali, alesi random. Am incercat totusi sa ii aleg astfel incat sa minimizez firele intercalate si sa arate cat mai bine.

Forma initiala hardware:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/fgul/ionela.strimbeanu.1715892785.txt.gz · Last modified: 2024/05/16 23:53 by ionela.strimbeanu
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