Differences

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

Link to this comparison view

pm:prj2023:dene:stefaniapirvu.basketballgame [2023/05/22 00:44]
stefania.pirvu
pm:prj2023:dene:stefaniapirvu.basketballgame [2023/05/29 23:28] (current)
stefania.pirvu
Line 14: Line 14:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-La inceputul jocului se va apasaunul din butoane pentru a alege modul de joc.+La inceputul jocului se va seta timpul pentru joc cu ajutorul unui buton. Dupa ce timpul este setat se apasa butonul de start. 
 +Esista 2 butoane pentru a alege modul de joc.
 Pentru modul singleplayer:​ Cand senzorul detecteaza prima minge care intra in cos, atunci se incepe numaratoarea inversa,​afisata pe modulul 7-segmente. Cand senzorul detecteaza o minge, se modifica scorul si buzzer-ul este declansat. ​ Pentru modul singleplayer:​ Cand senzorul detecteaza prima minge care intra in cos, atunci se incepe numaratoarea inversa,​afisata pe modulul 7-segmente. Cand senzorul detecteaza o minge, se modifica scorul si buzzer-ul este declansat. ​
 Pentru modul multiplayer contorizarea timpului incepe imediat. Pe ecran este afisat numarul jucatorului care este la rand.Acesta este indicat si de culoarea ledurilor. Daca jucatorul arunca mingea in cos, se modifica automat jucatorul curent. Daca jucatorul rateaza, se va apasa pe un buton pentru a trece la celalalt jucator. Pentru modul multiplayer contorizarea timpului incepe imediat. Pe ecran este afisat numarul jucatorului care este la rand.Acesta este indicat si de culoarea ledurilor. Daca jucatorul arunca mingea in cos, se modifica automat jucatorul curent. Daca jucatorul rateaza, se va apasa pe un buton pentru a trece la celalalt jucator.
  
 +La finalul jocului se va declansa un sunet si se va afisa mesajul "Game Over" pe modulul 7 segmente.
 Senzorul cu infrarosu este asezat pe inelul coșului de baschet. Când detectează o minge, scorul se modifică penru jucătorul curent și se declanseaza buzzer-ul și banda led.  Senzorul cu infrarosu este asezat pe inelul coșului de baschet. Când detectează o minge, scorul se modifică penru jucătorul curent și se declanseaza buzzer-ul și banda led. 
  
Line 38: Line 40:
  
  </​note>​  </​note>​
-{{:​pm:​prj2023:​dene:​pirvu_stefania_tinkercad.png?700|}}+{{:​pm:​prj2023:​dene:​pirvu_stefania_332cc_schema1.png?700|}}
  
  
-{{:​pm:​prj2023:​dene:​pirvu_stefania_schema_electrica.png?700|}}+{{:​pm:​prj2023:​dene:​pirvu_stefania_332cc_schema2.png?700|}}
  
  
Line 48: Line 50:
 ===== Software Design ===== ===== Software Design =====
  
 +== Mediul de dezvoltare ==
 +  *Arduino IDE
  
 +== Biblioteci folosite ==
 +  *Arduino.h
 +  *TM1637Display.h -> pentru modulul de afisare pe 7 segmente
 +  *FastLED.h -> pentru banda led
 +  *Wire.h
 +  *LiquidCrystal_I2C.h -> pentru display
  
-===== Rezultate Obţinute =====+== Implementare Software ​== 
 +**SetUp**
  
-===== Concluzii =====+Am initializat LCD-ul, banda led, pinii de input pentru senzor si cele 4 butoane si pinul de output pentru buzzer. 
 +   
 +**Loop**
  
-===== Download =====+Daca jocul inca nu a inceput (start ​== 0) citestc inputurile date de butoane. Daca este apasat butonul 4, timpul creste cu 20 de secunde. Daca este detectat input de la butonul 3, jocul incepe, (start ​1). 
 +Daca jocul a inceput, dar nu s-a ales modul de joc (game_mode ​== 0), se asteapta input de la butoanele 1 sau 2 pentru a seta modul de joc. Daca modul de joc este 1, se va apela functia multiplayer_game_mode , altfel se va apela functia singleplayer_game_mode. 
 +   
 +**Multiplayer_game_mode**
  
 +Daca este primit un input de la unul dintre cele 2 butaone, se schimba jucatorul care este la rand. Daca este activat senzorul, atunci scorul jucatoruluicurent se modifica
 +Se apeleaza functiile SetupGreenPalette() si SetupBluePalette() pentru a seta culaorea ledurilor in functie de jucatorul care este la rand.
 +Se afiseaza timpul curent pe modulul 7 segmente si se apeleaza functia stepUp() pentru a creste timpul
 +  ​
 +**Singleplayer_game_mode** ​
  
 +Pe acelasi principiu ca si la multiplayer,​ daca senzorul este activat se modifica scorul. ​ Se afiseaza timpul curent pe modulul 7 segmente si se apeleaza functia stepDown() pentru a arata timpul ramas
 +  ​
 +**StepUp / StepDown**
  
-===== Jurnal =====+Sunt doua functii foarte asemanatoare care modifica timpul. In cazul stepUp, daca timpul a atins numarul de minute si secunde setate la inceput, jocul s-a terminat, (game_over ​1) . In cazul stepDown, timpul scade, iar daca a ajuns la 0 jocul se termina. 
 +In ambele cazuri pe modulul 7 segmente va fi afisa mesajul Game Over si buzzer-ul va fi activat 
 +   
 +**Functii pentru culoare led**
  
 +Functiile SetupGreenPalette(),​SetupPurpleAndGreenPalette(), ​ SetupBluePalette() seteaza paleta de culori pentru inelul de leduri, iar functia FillLEDsFromPaletteColors itereaza prin index-urile ledurilor pentru a oferi senzatia de miscare a culorilor
  
 +
 +===== Rezultate Obţinute =====
 +
 +{{:​pm:​prj2023:​dene:​pirvu_stefania_1.jpeg?​500|}}
 +{{:​pm:​prj2023:​dene:​pirvu_stefania_2.jpeg?​500|}}
 +{{:​pm:​prj2023:​dene:​pirvu_stefania_3.jpeg?​500|}}
 +{{:​pm:​prj2023:​dene:​pirvu_stefania_4.jpeg?​500|}}
 +
 +===== Concluzii =====
 +A fost printre putinele proiecte la care am lucrat cu placere si fara stres. Am reusit sa realizez ce mi-am propus. Pe masura ce implementam am adaugat mai multe functionalitati fata de ce mi-am propus initial.
 +
 +===== Download =====
 +<​note>​
 +{{:​pm:​prj2023:​dene:​pirvu_stefania_proiect_pm.txt|}}
 +
 +Zip:​{{:​pm:​prj2023:​dene:​pirvu_stefania_cod_pm.zip|}}
 +</​note>​
 +===== Jurnal =====
 +  * 27.05 -Alegere tema proiect
 +  * 28.04 - Creare pagine wiki
 +  * Achizitionare componente
 +  * 15.05 - Montaj hardware
 +  * 15.05->​24.05 - Scris cod
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 67: Line 118:
  ​**Resurse Software**  ​**Resurse Software**
   * https://​www.youtube.com/​watch?​v=H5rlxtoinh8&​t=236s   * https://​www.youtube.com/​watch?​v=H5rlxtoinh8&​t=236s
 +  * https://​www.circuitbasics.com/​how-to-use-active-and-passive-buzzers-on-the-arduino/​
 +  * https://​www.youtube.com/​watch?​v=DKmNSCMPDjE&​t=379s
 +  * https://​how2electronics.com/​neopixel-led-strip-ws2812b-with-arduino/​
 +  * https://​docs.arduino.cc/​resources/​datasheets/​A000066-datasheet.pdf
 +  * https://​docs.arduino.cc/​tutorials/​
 </​note>​ </​note>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/dene/stefaniapirvu.basketballgame.1684705471.txt.gz · Last modified: 2023/05/22 00:44 by stefania.pirvu
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