Differences

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

Link to this comparison view

pm:prj2021:abirlica:jumping_game [2021/05/11 13:16]
adrian.florea2502
pm:prj2021:abirlica:jumping_game [2021/05/30 18:17] (current)
adrian.florea2502
Line 7: Line 7:
  
 ===== Descriere generală ===== ===== Descriere generală =====
-Proiectul consta in implementarea unui simplu joc, folosind un ecran LCD, butoane si un buzzer.+Proiectul consta in implementarea unui simplu joc, folosind un ecran LCD, butoane si un buzzer. Ecranul LCD este conectat la microcontroller printr-un modul I2C. Jucatorul poate alege dificultatea jocului, care se refera la viteza de deplasare a personajului. La apasarea de butoane sau la diverse evenimente ale jocului, buzzerul este setat cu anumite melodii/​sunete.
  
 {{:​pm:​prj2021:​abirlica:​block_design_af336cb.png?​700|}} {{:​pm:​prj2021:​abirlica:​block_design_af336cb.png?​700|}}
Line 25: Line 25:
  
 ===== Software Design ===== ===== Software Design =====
-**//TODO//**+ 
 +{{:​pm:​prj2021:​abirlica:​af336cb_diagrama.png?​800|}} 
 + 
 +{{:​pm:​prj2021:​abirlica:​af336cb_diagrama2.png?​500|}} 
 + 
 +void setup()  
 +             - seteaza pinii pentru buzzer, selectare dificultate,​ saritura (JUMP button); 
 +             - creaza obiectele pentru scena folosind initializeGraphics() 
 +             - loop in functia menu() pana cand utilizatorul alege o dificultate,​ dupa care programul trece in loop() 
 +             - porneste lcd-ul declarat global 
 + 
 +void loop() 
 +             - in functie de dificultatea aleasa apeleaza functia principala draw_func(int delay_time) 
 +             - delay_time se refera la viteza cu care se actualizeaza scena 
 + 
 +void menu() 
 +             - parseaza prin setarile de dificultate pana cand se foloseste butonul de jump pentru a incepe jocul 
 + 
 +void beginning() 
 +             - printeaza mesajul de inceput al jocului, inainte de selectarea dificultatii 
 + 
 +void draw_func(int delay_time) 
 +             - daca jucatorul nu a avut o coliziune, primeste input de la butonul de jump 
 +             - daca s-a intamplat o coliziune, jocul se blocheaza si asteapta input pe jump 
 +             - altfel scena se shifteaza la stanga constant folosind functia advanceTerrain() 
 + 
 +bool drawHero(byte position, charterrainUpper,​ charterrainLower,​ unsigned int score) 
 +             - verificarea coliziunii dintre personaj si scena 
 +             - afiseaza personajul si animatiile sale 
 + 
 +void advanceTerrain(char* terrain, byte newTerrain) 
 +             - afiseaza piese in scena si genereaza parti noi 
 + 
 + 
 +PIN 4: select\\ 
 +PIN 3: buzzer\\ 
 +PIN 2: jump\\ 
 +<​note>​ 
 +Biblioteca folosita pentru comunicarea I2C este atasata in sectiunea [[:​pm:​prj2021:​abirlica:​jumping_game#​Bibliografie/Resurse]]. 
 +</note>
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-**//TODO//**+ 
 +{{:​pm:​prj2021:​abirlica:​af336cb_1.jpg?​700|}} 
 + 
 +{{:​pm:​prj2021:​abirlica:​af336cb_2.jpg?​700|}} 
 + 
 +{{:​pm:​prj2021:​abirlica:​af336cb_4.jpg?​700|}} 
 + 
 +{{:​pm:​prj2021:​abirlica:​af336cb_5.jpg?​700|}} 
 + 
 +<note tip> 
 +{{https://youtu.be/vlh2DuX1jmI| < < DEMO > > }} 
 +</note>
  
 ===== Concluzii ===== ===== Concluzii =====
-**//​TODO//​**+Proiectul a fost amuzant si relativ simplu de realizat, si cu datorita lui am invatat (cat de cat) cum se foloseste un ciocan de lipit, dar mai ales cum functioneaza un ecran LCD cu modul I2C si cum se poate lucra cu acesta in diverse proiecte.
  
 ===== Jurnal ===== ===== Jurnal =====
-**//​TODO//​** 
  
-===== Bibliografie/Resurse ===== +2021/04/27 [[:pm:​prj2021:​abirlica:​jumping_game]] Pagina creata, pregatire lista componente, schema bloc\\ 
-[[https://ocw.cs.pub.ro/courses/pm/prj2021/abirlica/​jumping_game?​do=export_pdf|Pagina sub forma PDF]]+2021/05/11 [[:​pm:​prj2021:​abirlica:​jumping_game]] Schema electrica\\ 
 +2021/05/28 [[:pm:prj2021:abirlica:​jumping_game]] Demo\\ 
 +2021/05/30 [[:​pm:​prj2021:​abirlica:​jumping_game]] ​Finalizare pagina\\
  
-**//TODO//**+===== Bibliografie/Resurse ===== 
 +[[https://ocw.cs.pub.ro/courses/​pm/​prj2021/​abirlica/​jumping_game?​do=export_pdf|Pagina sub forma PDF]]\\ 
 +[[https://​www.plusivo.jo/​avr-boards/​9-plusivo-uno-r3-development-board-atmega328p-and-ch340-cable.html|Driver Plusivo]]\\ 
 +[[https://​www.youtube.com/​watch?​v=q9YC_GVHy5A&​ab_channel=Robojax|Tutorial LCD 1602 I2C]]\\ 
 +[[https://​drive.google.com/​u/​0/​uc?​id=1rUyuZsRFcasB5L9waRnIXrl9UVhgJ46Q&​export=download|Cod Sursa]]\\ 
 +[[https://​drive.google.com/​u/​0/​uc?​id=1__pgUor1Ck_TUFlaa3WC_G3eeOCxiyGu&​export=download|Biblioteca LCD I2C]]\\
  
  
  
pm/prj2021/abirlica/jumping_game.1620728196.txt.gz · Last modified: 2021/05/11 13:16 by adrian.florea2502
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