Differences

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

Link to this comparison view

pm:prj2021:alazar:snake [2021/06/02 21:58]
ccristescu
pm:prj2021:alazar:snake [2021/06/03 15:56] (current)
ccristescu [Bibliografie/Resurse]
Line 8: Line 8:
 până la lovirea unui perete sub forma de obstacol. Am ales acest joc deoarece este printe primele jocuri încercate \\ până la lovirea unui perete sub forma de obstacol. Am ales acest joc deoarece este printe primele jocuri încercate \\
 de mine, iar cerințele sale corespund acestui tip de proiect. Utilitatea acestuia în prezent nu este una sugestivă, \\ de mine, iar cerințele sale corespund acestui tip de proiect. Utilitatea acestuia în prezent nu este una sugestivă, \\
-dar consider că ,în funcție de dificultate,​ te obligă ca utilizator să inveti ​să menții un nivel de concentrare ridicat \\ +dar consider că ,în funcție de dificultate,​ te obligă ca utilizator să inveți ​să menții un nivel de concentrare ridicat \\ 
-si iți antrenează anumite reflexe.+și iți antrenează anumite reflexe.
  
 ==== Descriere Generală ==== ==== Descriere Generală ====
-Pentru realizarea funcționalității,​ se va folosi un modul analog joystick care are rolul de a muta sarpele ​\\ +Pentru realizarea funcționalității,​ se va folosi un modul analog joystick care are rolul de a muta șarpele ​\\ 
-în toate directiile, sus-jos, ​stanga-dreapta în timp ce segmentul corpului ​sau este în continua ​translație \\+în toate directiile, sus-jos, ​stânga-dreapta în timp ce segmentul corpului ​său este în continuă ​translație \\
 într-un sens. Display-ul care va afișa simularea va fi un modul cu matrice de LED-uri bazat pe un driver \\ într-un sens. Display-ul care va afișa simularea va fi un modul cu matrice de LED-uri bazat pe un driver \\
 max7219 conectat la alte câteva componente cum ar fi o rezistență,​ condensatoare,​ pin headers. \\ max7219 conectat la alte câteva componente cum ar fi o rezistență,​ condensatoare,​ pin headers. \\
Line 47: Line 47:
  
 === Setup() === === Setup() ===
-Realizează inițializările pinilor, ledurilor de pe matrice, ​recalibreaza ​poziția de pornire \\+Realizează inițializările pinilor, ledurilor de pe matrice, ​recalibrează ​poziția de pornire \\
 a Analog Joystickului și stabilește poziția șarpelui pe ecran. \\ a Analog Joystickului și stabilește poziția șarpelui pe ecran. \\
  
 === Loop() === === Loop() ===
  
-Scorul va fi afisat secvential ​la serial monitor, ​urmand ​ca apoi sa se genereze ​mancarea in functie ​\\ +Scorul va fi afișat secvențial ​la serial monitor, ​urmând ​ca apoi să se genereze ​mâncarea în funcție ​\\ 
-de pozitiile ​segmentului ​sarpeluiIn continuare, se vor prelua inputurile din stick si se stabileste ​\\ +de pozițiile ​segmentului ​șarpeluiÎn continuare, se vor prelua inputurile din stick și se stabilește ​\\ 
-urmatoarea directieverificand in acelasi ​timp daca sensul ales este la 180 de grade fata de cel \\ +următoarea direcțieverificând în același ​timp dacă sensul ales este la 180 de grade față ​de cel \\ 
-precedent pentru ca respectiva "​coliziune" ​sa fie invalida si jocul sa mearga mai departe. Ulterior, \\ +precedent pentru ca respectiva "​coliziune" ​să fie invalidă și jocul să mearga mai departe. Ulterior, \\ 
-se vor prelucra datele jocului, se actualizeaza ​lungimea ​sarpelui, se va verifica ​daca jocul s-a finalizat, \\ +se vor prelucra datele jocului, se actualizează ​lungimea ​șarpelui, se va verifica ​dacă jocul s-a finalizat, \\ 
-se vor aprinde ​si stinge ledurile ​secventialgenerand miscarea ​pe ecran. Buzzerul se va activa dupa ce marul \\ +se vor aprinde ​și stinge ledurile ​secvențialgenerând mișcarea ​pe ecran. Buzzerul se va activa dupa ce mărul ​\\ 
-a fost mancat si dupa ce translatia sarpelui ​s-a realizat. La finalul unui "​frame"​ din loop, se verifica daca \\ +a fost mâncat și după ce translația șarpelui ​s-a realizat. La finalul unui "​frame"​ din loop, se verifică dacă \\ 
-jocul s-a castigat ​sau pierdut, ​in acest caz, reinitializandu-se toate variabilele din joc, iar ecranul \\ +jocul s-a caștigat ​sau pierdut, ​în acest caz, reinițializându-se toate variabilele din joc, iar ecranul \\ 
-"va clipi" de 5 ori.+"va clipi" de 5 ori ca un efect de resetare a jocului.
  
  
 ==== Rezultate Obtinute ==== ==== Rezultate Obtinute ====
  
 +{{:​pm:​prj2021:​alazar:​cristi_cristescu:​rezultat.jpeg?​600|}}
 +
 +Pot spune că am realizat ce mi-am propus de la început, nefiind ceva ieșit din comun. Dificultățile \\
 +le-am avut lucrând cu piesele, inițial lucram cu un Arduino Nano pe care îl legam direct de breadboard, \\
 +însă, deși am legat toți pinii cum trebuia, unele inputuri, chiar și alimentarea,​ nu funcționau cum trebuie \\
 +și nu îmi dădeam seama câte greșeli sunt în cod sau în schemă. Până la urmă, am scos Nano-ul din breadboard \\
 +și l-am legat direct cu fire, însă mai târziu, problema era că nu mai aveam suficiente fire pentru toate \\
 +componentele ca să le leg de placă, așa că am trecut la Uno (dispuneam de mai multe fire tată-tată). \\
 +
 +Video cu demo-ul: [[https://​www.youtube.com/​watch?​v=-oH9Ae4ZTDY|ProiectSnake]]
 ==== Concluzii ==== ==== Concluzii ====
 +
 +A fost interesant să lucrez cu componente fizice, dincolo de toate temele și proiectele software \\
 +din facultate. Personal, nu sunt mare fan al electronicilor,​ dar cumva proiectul acesta a reaprins \\
 +o speranță pentru sistemele embedded în viziunea mea, ele oferind aplicații interesante,​ \\
 +chiar utilități oamenilor. \\
  
 ==== Download ==== ==== Download ====
 +
 +{{:​pm:​prj2021:​alazar:​cristi_cristescu:​cristescu_cristian_335ca_proiect_pm.zip|}}
  
 ==== Jurnal ==== ==== Jurnal ====
 +
 +25.04.2021 : Alegerea proiectului \\
 +26.05.2021 : Inceperea partii software \\
 +27.05.2021 : Inceperea partii hardware \\
 +1.06.2021 : Finalizarea partilor hardware si software \\
 +2.06.2021 - 3.06.2021 : Realizarea documentatiei \\
  
 ==== Bibliografie/​Resurse ==== ==== Bibliografie/​Resurse ====
-{{:​pm:​prj2021:​alazar:​snake.pdf|}}+ 
 +https://​github.com/​wayoda/​LedControl/​blob/​master/​src/​LedControl.cpp \\ 
 +https://​howtomechatronics.com/​tutorials/​arduino/​8x8-led-matrix-max7219-tutorial-scrolling-text-android-control-via-bluetooth/​ \\ 
 +https://​create.arduino.cc/​projecthub/​rishab8551/​arduino-snake-game-using-arduino-and-martix-6c230c \\ 
 +https://​majicdesigns.github.io/​MD_MAX72XX/​page_parola.html \\ 
 + 
 +{{:​pm:​prj2021:​alazar:​cristi_cristescu:​snake.pdf|}} ​\\
pm/prj2021/alazar/snake.1622660292.txt.gz · Last modified: 2021/06/02 21:58 by ccristescu
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