Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:endlessrunnermatrix [2021/05/26 23:13]
rares.popescu0807 [Introducere]
pm:prj2021:dbrigalda:endlessrunnermatrix [2021/06/02 19:00] (current)
rares.popescu0807 [Download]
Line 10: Line 10:
  
 ===== Descriere generală ===== ===== Descriere generală =====
 +\\
 +Placuta updateaza matricea periodic:\\
 +-face obstacolele si colectabilele sa se apropie cu cate un pixel\\
 +-in functie de inputul primit de la jotstick misca sau nu jucatorul\\
 +-genereaza noi obstacole si colectabile periodic\\
 +\\
 +Placuta afiseaza pe LCD scorul curent.\\
 +\\
 +Placuta verifica coliziunile si actioneaza in consecinta:​\\
 +-cand colectam un colectabil activam buzzerul pentru o scurta perioada si updatam scorul de pe LCD\\
 +-cand lovim un obstacol activam buzzerul pentru o perioada mai lunga, afisam pe LCD "Game over" si restartam jocul\\
 +\\
 +Cand incepe jocul, pe matricea de leduri este afisat mesajul "​GO"​ din pixeli.\\
 +\\
 +Jocul poate fi restartat apasand butonul de pe placuta.\\
 +\\
 +
 ==== Schema bloc ==== ==== Schema bloc ====
 {{:​pm:​prj2021:​dbrigalda:​schemabloc69.png?​700|}} {{:​pm:​prj2021:​dbrigalda:​schemabloc69.png?​700|}}
Line 19: Line 36:
 | Matrice leduri 8x8  | 1              | | Matrice leduri 8x8  | 1              |
 | Buzzer ​             | 1              | | Buzzer ​             | 1              |
-| LED-uri ​            | 2              | 
-| Butoane ​            | 2              | 
 | LCD                 | 1              |    ​ | LCD                 | 1              |    ​
 | Breadboard ​         | 1              | | Breadboard ​         | 1              |
 +\\
 +Placuta Arduino face toate calculele.\\
 +Joystickul este sursa de input pe care o folosim pentru a controla caracterul nostru.\\
 +Pe matricea de Leduri este afisata harta in timp real, updatandu-se periodic, pentru fiecare schimbare.\\
 +Buzzerul este o componenta de output care semnaleaza sonor evenimente din joc.\\
 +Breadbordul faciliteaza crearea circuitului.\\
 ===== Software Design ===== ===== Software Design =====
 +\\
 +Pentru a dezvolta codul necesar proiectului am folosit Arduino IDE.
 +Pentru matricea de leduri si pentru LCD a fost nevoie de o cate o biblioteca: Adafruit_NeoPixel.h si LiquidCrystal_I2C.h. De asemenea am adaugat si biblioteca wire.h.\\
 +Pentru personaj, obstacole, si colectabil a fost nevoie sa folosesc cate o pereche de variabile pentru coordonate.\\
 +Pentru culoare e nevoie de 3 numere pt RGB.\\
 +Pentru mesajul GO am folosit matricea go.\\
 +Pentru a transpune usor coordonatele in numarul care corespunde pixelului de pe matrice dorit am folosit matricea light.\\
 +Pentru a accesa matricea de leduri am folosit strip.\\
 +Pentru a accesa LCDul am folosit lcd.\\
 +Variabila speedS este folosita pentru a controla intervalul la care se fac updeturi, deci cat de repede se misca jocul.\\
 +Functiile folosite sunt:\\
 +RANDOM pentru a calcula niste pozitii ale obstacolelor si colectabilului care sa nu se suprapuna\\
 +myDelay pentru a astepta inputul joystickului.\\
 +joyStick pentru a determina directia in care e indreptata maneta.\\
 +gameOver pentru a anunta ca jocul a fost pierdut si pentru a pregati jocul pentru restart.\\
 +mobile pentru a misca pixelul care reprezinta caracterul nostru doar daca maneta era indreptata in sus sau in jos.\\
 +displays pentru a afisa harta pe matricea de leduri.\\
 +shiftMap pentru a face obstacolele si colectabilele sa se apropie de noi si pentru a verifica coliziunile.\\
 +
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
 +Rezultate obtinute se pot vedea cel mai bine in videoclipul de prezentare de la adresa\\
 +[[https://​www.youtube.com/​watch?​v=Un7D3QY8qws&​ab_channel=Rares9913]].
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Sunt incantat ca am avut ocazia de a lucra cu o placuta arduino.
 ===== Download ===== ===== Download =====
 +sursa: {{:​pm:​prj2021:​dbrigalda:​er.zip|}}
 ===== Jurnal ===== ===== Jurnal =====
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +Am folosit documentatiile pentru diferite componente si functii sau am cautat pe google tutoriale.\\
 +M-am uitat si pe mai multe implementari de snake, pe arduino sau doar in C, ca punct de plecare.\\
pm/prj2021/dbrigalda/endlessrunnermatrix.1622059985.txt.gz · Last modified: 2021/05/26 23:13 by rares.popescu0807
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