Differences

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

Link to this comparison view

pm:prj2025:iotelea:alexandra.lache0802 [2025/05/26 19:29]
alexandra.lache0802 [Hardware Design]
pm:prj2025:iotelea:alexandra.lache0802 [2025/05/26 21:55] (current)
alexandra.lache0802 [Hardware Design]
Line 32: Line 32:
 **Diagramă circuit**: **Diagramă circuit**:
  
-{{ :​pm:​prj2025:​iotelea:​circuit_image_alexandra_lache.png?​nolink&​700 |}}+{{ :​pm:​prj2025:​iotelea:​circuit_image_2_.png?​nolink&​700 |}}
  
 **Explicare cablaj** **Explicare cablaj**
Line 60: Line 60:
  
 ^ Pin  ^ Legătură ESP32 ^ Notă | ^ Pin  ^ Legătură ESP32 ^ Notă |
-| COL0 | GPIO34 ​        ​| ​Intrare digitală (doar input    | +| COL0 | GPIO34 ​        | doar input     | 
-| COL1 | GPIO35 ​        ​| ​Intrare digitală (doar input    | +| COL1 | GPIO35 ​        | doar input     | 
-| COL2 | GPIO32 ​        ​| ​Intrare ​                          +| COL2 | GPIO32 ​        ​| ​                           
-| COL3 | GPIO33 ​        ​| ​Intrare ​                          +| COL3 | GPIO33 ​        ​| ​                           
-| COL4 | GPIO25 ​        ​| ​Intrare ​                          +| COL4 | GPIO25 ​        ​| ​                           
-| COL5 | GPIO26 ​        ​| ​Intrare ​                          +| COL5 | GPIO26 ​        ​| ​                           
-| COL6 | GPIO27 ​        ​| ​Intrare ​                          +| COL6 | GPIO27 ​        ​| ​                           
-| COL7 | GPIO14 ​        ​| ​Intrare ​|+| COL7 | GPIO14 ​        ​| ​    ​|
  
  
Line 77: Line 77:
  
  
-**Testare componente**+**Realizare tablă de șah**
  
 +  * [[https://​drive.google.com/​file/​d/​1VPy6rCzRrRd5N0nA_zXQbXTYwYyt8QC6/​view?​usp=sharing|Bandă led pe suportul inferior al tablei]]
 +  * [[https://​drive.google.com/​file/​d/​1a6xs2k5m4d7LkpFWmB1pGvC11KmW6UEW/​view?​usp=sharing| Testare funcționalitate 74HC595N]]
 +  * [[https://​drive.google.com/​file/​d/​1Qw_CxFBaAX7rj3JhEk1cNrkVJc_pHWwu/​view?​usp=sharing|Suport reed-uri]]
  
 ===== Software Design ===== ===== Software Design =====
Line 85: Line 88:
   * librării : Adafruit_NeoPixel.h pentru programarea bandei led adresabile, LiquidCrystal_I2C.h și Wire.h pentru LCD   * librării : Adafruit_NeoPixel.h pentru programarea bandei led adresabile, LiquidCrystal_I2C.h și Wire.h pentru LCD
   * noțiuni de laborator folosite: I2C, timer, întreruperi   * noțiuni de laborator folosite: I2C, timer, întreruperi
 +  * github repo: https://​github.com/​alex2004-l/​smart-chessboard
 +
 +**Implementare**
 +
 +  * Aplicația este structurată ca o mașină de stări: BEGINNING, READY, PICK, MOVE, CAPTURE, END;
 +
 +  * Pentru a urmări pozițiile pieselor pe tablă se folosesc doi vectori: board și previous_board.
 +  * press_button_white() și press_button_black() sunt ISR-uri (Interrupt Service Routines) care schimbă starea jocului când jucătorul apasă butonul.
 + 
 +  * Detectarea mutărilor pieselor prin comparația board vs previous_board
 +
 +  * Validarea mutărilor pe baza tipului de piesă (folosind funcțiile din moves.h)
 +
 +  * Implementarea unui sistem de cronometru (folosind hardware timer)
 +
 +  * Detectarea capturilor și actualizarea stării jocului (CAPTURE, END)
 +
 +  * Afișarea mutărilor și timpului pe LCD
 +
 +  * Controlul LED-urilor în funcție de mutările făcute sau starea curentă
 +
  
  
pm/prj2025/iotelea/alexandra.lache0802.1748276994.txt.gz · Last modified: 2025/05/26 19:29 by alexandra.lache0802
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