This shows you the differences between two versions of the page.
pm:prj2021:abasoc:memorygame [2021/05/23 18:50] cosmin.banica1611 |
pm:prj2021:abasoc:memorygame [2021/05/23 19:59] (current) cosmin.banica1611 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 9: | Line 9: | ||
Jocul se foloseste de 3 LED-uri pentru a indica jucatorului cate runde a castigat pana acum. Exista butoane de schimbare a coloanei, a randului si de selectat casuta. Atunci cand un jucator reproduce matricea initiala, se aude o melodie si pe display-ul format din cele 2 matrici de LED-uri se afiseaza un mesaj de victorie. Atunci cand un jucator greseste o casuta, similar se aude un zgomot si se afiseaza un mesaj corespunzator, iar nivelul se ia de la inceput. \\ \\ | Jocul se foloseste de 3 LED-uri pentru a indica jucatorului cate runde a castigat pana acum. Exista butoane de schimbare a coloanei, a randului si de selectat casuta. Atunci cand un jucator reproduce matricea initiala, se aude o melodie si pe display-ul format din cele 2 matrici de LED-uri se afiseaza un mesaj de victorie. Atunci cand un jucator greseste o casuta, similar se aude un zgomot si se afiseaza un mesaj corespunzator, iar nivelul se ia de la inceput. \\ \\ | ||
Schema bloc: \\ | Schema bloc: \\ | ||
- | {{:pm:prj2021:abasoc:connecttwo.png?600|}} | + | {{:pm:prj2021:abasoc:memorygame_schema_light.png?600|}} |
====== Hardware Design ====== | ====== Hardware Design ====== | ||
Componente: | Componente: | ||
Line 20: | Line 20: | ||
* Fire mama-tata si tata-tata | * Fire mama-tata si tata-tata | ||
* 2 matrici de LED-uri (MAX7219) | * 2 matrici de LED-uri (MAX7219) | ||
+ | |||
+ | Mentiuni: | ||
+ | * pentru a comunica cu matricile de LED-uri (care folosesc MAX7219), s-a folosit SPI cu Daisy Chaining | ||
+ | * cele 3 LED-uri afiseaza scorul in format binar | ||
+ | |||
Schema electrica: | Schema electrica: | ||
Line 26: | Line 31: | ||
====== Software Design ====== | ====== Software Design ====== | ||
- | TODO | + | Pentru implementarea codului am folosit Visual Studio Code impreuna cu extensiile pentru Arduino care permit functionalitati precum auto-complete, intellisense, upload pe placuta direct din VSCode. In portiunea de setup se pregatesc modurile pinilor, precum si configuratiile necesare matricilor de LED-uri.\\ \\ |
+ | Jocul are in vedere urmatorul flow: pe matricea din stanga apare o secventa de LED-uri aprinse, iar la scurt timp acestea nu mai sunt vizibile. Folosind butoanele de miscare pe horizontala, verticala, jucatorul trebuie sa reproduca imaginea disparuta (selectand LED-uri cu un al treilea buton).\\ \\ | ||
+ | Pentru a comunica cu matricile de LED-uri s-a folosit SPI cu Daisy Chaining. Libraria pentru MAX7219 expune un obiect de tip LedControl care faciliteaza comunicarea cu matricile. Aproape fiecare functie din LedControl ia ca prim argument matricea la care se vrea sa se faca modificari.\\ \\ | ||
+ | De asemenea, matricile de LED-uri au 2 intrebuintari: ele sunt atat interfata prin care jucatorul interactioneaza cu imaginile ce trebuie a fi memorate, apoi reproduse, dar sunt si display-uri atunci cand se transmite un mesaj text jucatorului.\\ \\ | ||
+ | Librariile folosite sunt: | ||
+ | * LedControlMS.h (pentru MAX7219) | ||
+ | * pitches.h (pentru buzzer) | ||
+ | Link de download pentru codul Arduino folosit in proiect: {{:pm:prj2021:abasoc:memorygame_cod.zip?600|}} \\ \\ | ||
+ | Un scurt Demo in format video pe youtube: https://www.youtube.com/watch?v=3KLD8s7QhtM | ||
====== Download ====== | ====== Download ====== | ||
<note tip> | <note tip> | ||
- | Link pagina: https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/memorygame</note>\\ | + | Link pagina: https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/memorygame\\ |
+ | Pagina in PDF: [[https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/memorygame?do=export_pdf | PDF]] | ||
+ | </note> | ||
====== Bibliografie/Resurse ====== | ====== Bibliografie/Resurse ====== | ||
- | [[https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/memorygame?do=export_pdf | PDF]] | + | * Link catre codul Arduino: {{:pm:prj2021:abasoc:memorygame_cod.zip?600|}} |
+ | * Link catre Demo pe youtube: https://www.youtube.com/watch?v=3KLD8s7QhtM | ||
+ | * Libraria pentru a folosi matricile de LED-uri MAX7219: https://github.com/shaai/Arduino_LED_matrix_sketch | ||
+ | * Functii folosite din Arduino: https://www.arduino.cc/reference/en/ | ||
+ | * Software cu care s-a realizat schema electrica: https://www.autodesk.com/ | ||
+ | * PDF: {{:pm:prj2021:abasoc:side_by_side_memory_game_pdf.pdf?600|}} |