Differences

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

Link to this comparison view

pm:prj2022:avaduva:marian.lupuleasa [2022/06/01 19:20]
marian.lupuleasa [Bibliografie/Resurse]
pm:prj2022:avaduva:marian.lupuleasa [2022/06/01 21:03] (current)
marian.lupuleasa [Rezultate Obţinute]
Line 21: Line 21:
 ===== Descriere Generală ===== ===== Descriere Generală =====
  
-Vor exista 2 jucători care vor plasa, alternativ, piese pe grid (matrice de LED-uri de dimensiune ​8x8).+Vor exista 2 jucători care vor plasa, alternativ, piese pe grid (matrice de LED-uri de dimensiune ​4x4).
  
-Deoarece în jocul de bază grid-ul este în poziție verticală, piesele se vor plasa pe o anumită coloană, piesa "​căzând"​ și fiind ocupată poziția cea mai de jos a coloanei respective.  +Cu ajutorul a 2 butoane, playerii pot selecta ​poziția ​pe care vor plasa piesa (dreapta/jos) și confirmarea selecției se va face cu un al 3-lea buton. După confirmarea selecției, este rândul celuilalt player să își facă mișcarea.
- +
-Cu ajutorul a 2 butoane, playerii pot selecta ​coloana ​pe care vor plasa piesa (stânga-dreapta) și confirmarea selecției se va face cu un al 3-lea buton. După confirmarea selecției, este rândul celuilalt player să își facă mișcarea.+
  
 La fiecare confirmare a selecției, se va verifica dacă pe grid există o secvență de 4 piese de aceeași culoare (în orice direcție) și, în caz afirmativ, jocul se va termina. La fiecare confirmare a selecției, se va verifica dacă pe grid există o secvență de 4 piese de aceeași culoare (în orice direcție) și, în caz afirmativ, jocul se va termina.
Line 33: Line 31:
   * Arduino UNO   * Arduino UNO
   * Breadboard   * Breadboard
-  * 3 Butoane (2 pentru selectarea ​coloanei, 1 pentru confirmarea plasării piesei)+  * 3 Butoane (2 pentru selectarea ​poziției, 1 pentru confirmarea plasării piesei)
   * Buzzer (sunet pentru terminarea unei runde, sunet pentru câștigarea unui anumit număr de runde, sunet pentru semnalizarea player-ului a cărui rând este)   * Buzzer (sunet pentru terminarea unei runde, sunet pentru câștigarea unui anumit număr de runde, sunet pentru semnalizarea player-ului a cărui rând este)
   * Fire   * Fire
-  * LCD (afișarea playerului care trebuie să își plaseze piesa, afișarea câștigătorului unei runde, afișarea scorului)+  * LCD I2C (afișarea playerului care trebuie să își plaseze piesa, afișarea câștigătorului unei runde, afișarea scorului)
   * Matrice de LED-uri (reprezentarea gridului)   * Matrice de LED-uri (reprezentarea gridului)
   * Rezistente   * Rezistente
Line 64: Line 62:
   * simulez scenariul de joc prin alternarea rândului jucătorilor,​ aprinderea LED-urilor, activarea buzzer-ului și afișarea de text pe ecranul LCD   * simulez scenariul de joc prin alternarea rândului jucătorilor,​ aprinderea LED-urilor, activarea buzzer-ului și afișarea de text pe ecranul LCD
  
 +Funcții:
 +  * selectRow(int nr): setează pinii corespunzători rândului nr pe LOW pentru a putea fi aprinși
 +  * select(Red/​Green)Col(int nr, int state): setează pinii corespunzători rândului nr pe state
 +  * fourConnect(int* arr, int player): verifică dacă player-ul curent a câștigat jocul
 +
 +Logica codului:
 +  * mă folosesc de 2 matrice: green și red, pentru a ține minte care LED-uri trebuie aprinse și care nu la orice moment al jocului
 +  * în orice moment al jocului, poziția curentă în matrice va fi marcată de un LED aprins provizoriu, până când player-ul confirmă selecția
 +  * navigarea se face cu ajutorul a două butoane, unul care mișcă poziția jucătorului la dreapta și unul care o mișcă în jos
 +  * după fiecare selecție, se verifică dacă jucătorul a câștigat runda respectivă și, dacă da, se incrementează scorul și se resetează jocul
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-{{:​pm:​prj2022:​avaduva:​whatsapp_image_2022-05-27_at_6.37.24_pm.jpeg?​500|}}+{{:​pm:​prj2022:​avaduva:​whatsapp_image_2022-06-01_at_7.29.11_pm.jpeg?​500|}}
  
-{{:​pm:​prj2022:​avaduva:​whatsapp_image_2022-05-27_at_6.37.24_pm_1_.jpeg?​500|}}+{{:​pm:​prj2022:​avaduva:​whatsapp_image_2022-06-01_at_7.29.12_pm.jpeg?​500|}} 
 + 
 +{{:​pm:​prj2022:​avaduva:​whatsapp_image_2022-06-01_at_7.29.12_pm_1_.jpeg?​500|}} 
 + 
 +Link Demo: 
 +[[https://​youtu.be/​169sOtUbzFk]]
  
 ===== Concluzii ===== ===== Concluzii =====
Line 107: Line 120:
  
 27 Mai 2022 - Documentatie 2 (schemă electrică, rezultate, concluzii, bibliografie) 27 Mai 2022 - Documentatie 2 (schemă electrică, rezultate, concluzii, bibliografie)
 +
 +28 Mai - 1 Iunie 2022 - Finalizare proiect + Documentatie 3 (demo, cod, concluzii finale)
  
  
pm/prj2022/avaduva/marian.lupuleasa.1654100420.txt.gz · Last modified: 2022/06/01 19:20 by marian.lupuleasa
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