Differences

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

Link to this comparison view

pm:prj2024:rvirtan:snakecube3d [2024/05/22 14:47]
radu.florea
pm:prj2024:rvirtan:snakecube3d [2024/05/26 22:33] (current)
radu.florea [Jurnal]
Line 30: Line 30:
   * 1 Joystick Module (Pe A0 si A1)   * 1 Joystick Module (Pe A0 si A1)
   * 1 ecran lcd 1602 cu I2C (pe pinii de SCL si SDA 20 si 21)   * 1 ecran lcd 1602 cu I2C (pe pinii de SCL si SDA 20 si 21)
 +  * 1 buzzer pasiv conectat pe portul 56 (A2)
  
-{{:​pm:​prj2024:​rvirtan:​snake3d:​schemav2.png?700|}}+{{:​pm:​prj2024:​rvirtan:​snake3d:​schema_final_final.jpeg?700|}}
  
-+ multe alte beculete ​pe pinii 21-53++ multe alte beculețe ​pe pinii 21-53
  
  
-Am inceput ​prin lipirea led-urilor ​intre ele. (dupa multe incercari ​de a le lipi pe o sarma, am trecut la rezistente ​pentru structura de rezistenta=). Am lipit catodul ​fiecarui beculet intre ele si le-am conestat ​la arduino prin becurile din colturi astfel ​incat rezistentele ​folosite pentru ​sustinere, nu influenteaza=)+Am început ​prin lipirea led-urilor ​între ​ele. (după multe încercări ​de a le lipi pe o sârmă, am trecut la rezistențe ​pentru structura de rezistență=). Am lipit catodul ​fiecărui beculeț între ​ele și le-am conectat ​la arduino prin becurile din colturi astfel ​incât rezistențele ​folosite pentru ​susținere, nu influențează=)
  
 {{:​pm:​prj2024:​rvirtan:​snake3d:​cub_lipit.jpeg?​500|}} {{:​pm:​prj2024:​rvirtan:​snake3d:​cub_lipit.jpeg?​500|}}
  
-Apoi am facut cablajul si le-am pus fiecaruia ​dintre ele cate rezistenta ​+Apoi am fâcut ​cablajul si le-am pus fiecăruia ​dintre ele câte rezistență ​
-apoi am conectat la mega si lcd-ul cu joystick-ul pentru a incepe ​sa pot scrie software-ul+apoi am conectat la mega si lcd-ul cu joystick-ul pentru a începe ​sa pot scrie software-ul
  
 {{:​pm:​prj2024:​rvirtan:​snake3d:​circuit_dubla_1.jpeg?​500|}} {{:​pm:​prj2024:​rvirtan:​snake3d:​circuit_dubla_1.jpeg?​500|}}
  
-M-am decis ulterior ​sa pun o singura rezistenta ​pentru toate led-urile+M-am decis ulterior ​să pun o singură rezistență ​pentru toate led-urile
  
 {{:​pm:​prj2024:​rvirtan:​snake3d:​proba_cub.jpeg?​450|}} {{:​pm:​prj2024:​rvirtan:​snake3d:​proba_cub.jpeg?​450|}}
 {{:​pm:​prj2024:​rvirtan:​snake3d:​schema_completa_fizic.png?​450|}} {{:​pm:​prj2024:​rvirtan:​snake3d:​schema_completa_fizic.png?​450|}}
 +
 +Am pus pe un breadboard separat joystick-ul si 2 butoane pentru a simula un controller
 +
 +{{:​pm:​prj2024:​rvirtan:​snake3d:​controller.jpeg?​500|}}
 ---- ----
  
Line 58: Line 63:
 Am început cu un joc clasic de Snake, la care am adăugat două butoane pentru a permite jucătorului să comute între trei niveluri ale cubului. De asemenea, am integrat melodia iconică Nokia, care se redă atunci când jucătorul pierde. Am început cu un joc clasic de Snake, la care am adăugat două butoane pentru a permite jucătorului să comute între trei niveluri ale cubului. De asemenea, am integrat melodia iconică Nokia, care se redă atunci când jucătorul pierde.
  
-În ceea ce prhttps://​ocw.cs.pub.ro/​courses/​lib/​images/​toolbar/​hequal.pngivește logica jocului, jucătorul începe cu un șarpe de lungime 2. Obiectivul este să caute și să consume mere, care apar pe hartă. De fiecare dată când șarpele consumă un măr, lungimea acestuia crește cu 1 unitate. Jocul se încheie atunci când capul șarpelui intră în coliziune cu oricare parte a corpului său. Scorul, care reprezintă numărul de mere consumate, este afișat pe ecranul LCD.+În ceea ce privește logica jocului, jucătorul începe cu un șarpe de lungime 2. Obiectivul este să caute și să consume mere, care apar pe hartă. De fiecare dată când șarpele consumă un măr, lungimea acestuia crește cu 1 unitate. Jocul se încheie atunci când capul șarpelui intră în coliziune cu oricare parte a corpului său. Scorul, care reprezintă numărul de mere consumate, este afișat pe ecranul LCD 
 + 
 + 
 + 
 +<note tip> 
 +Biblioteci folosite: 
 + 
 +  * LiquidCrystal_I2C.h     ​Aceasta bibliotecă este folosită pentru a inițializa și controla afișajul LCD. 
 + 
 +  * Wire.h: ​    În acest cod, Wire.h este inclusă, dar nu este folosită direct. Aceasta este necesară deoarece LiquidCrystal_I2C.h depinde de ea pentru a funcționa. Bibliotecile care folosesc I2C utilizează în mod implicit Wire.h pentru a gestiona comunicația I2C. 
 + 
 + 
 +</​note>​ 
 + 
 + 
 + 
 +===== Rezultate Obţinute ===== 
 + 
 +<note tip> 
 +**DEMO** 
 + 
 + 
 +https://​www.youtube.com/​shorts/​L2x6yMSIZvQ 
 +</​note>​ 
 + 
 + 
 +===== Download ===== 
 + 
 +[[https://​github.com/​Vulturul2k/​proiect-pm|Link repository GitHub]] 
 + 
 + 
 +===== Bibliografie/​Resurse ===== 
 + 
 +<​note>​ 
 +Listă cu documente, datasheet-uri,​ resurse Internet folosite: 
 + 
 +**Resurse Software** 
 + 
 + 
 +https://​github.com/​robsoncouto/​arduino-songs/​blob/​master/​nokia/​nokia.ino 
 + 
 +**Resurse Hardware** 
 + 
 + 
 +https://​www.youtube.com/​watch?​v=TesnKjba0l0 
 +https://​ocw.cs.pub.ro/​courses/​pm/​prj2015/​ddragomir/​the_dude 
 + 
 +</​note>​
  
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
  
pm/prj2024/rvirtan/snakecube3d.1716378450.txt.gz · Last modified: 2024/05/22 14:47 by radu.florea
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