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:05]
alexandra.lache0802 [Hardware Design]
pm:prj2025:iotelea:alexandra.lache0802 [2025/05/26 21:55] (current)
alexandra.lache0802 [Hardware Design]
Line 21: Line 21:
  
 **Componente necesare**: **Componente necesare**:
-  * [[https://​www.optimusdigital.ro/​ro/​placi-cu-bluetooth/​4371-placa-de-dezvoltare-esp32-cu-wifi-i-bluetooth-42.html?​search_query=esp32&​results=28]|microcontroler ESP32]+  * [[https://​www.optimusdigital.ro/​ro/​placi-cu-bluetooth/​4371-placa-de-dezvoltare-esp32-cu-wifi-i-bluetooth-42.html?​search_query=esp32&​results=28]|microcontroler ESP32]]
   * 64 x [[https://​www.optimusdigital.ro/​ro/​butoane-i-comutatoare/​3899-comutator-magnetic-reed-normal-deschis-2-x-14-mm.html|switch-uri reed magnetic]]   * 64 x [[https://​www.optimusdigital.ro/​ro/​butoane-i-comutatoare/​3899-comutator-magnetic-reed-normal-deschis-2-x-14-mm.html|switch-uri reed magnetic]]
   * [[https://​www.optimusdigital.ro/​ro/​optoelectronice-lcd-uri/​2894-lcd-cu-interfata-i2c-si-backlight-albastru.html|LCD 1602 cu Interfata I2C si Backlight Albastru]]   * [[https://​www.optimusdigital.ro/​ro/​optoelectronice-lcd-uri/​2894-lcd-cu-interfata-i2c-si-backlight-albastru.html|LCD 1602 cu Interfata I2C si Backlight Albastru]]
   * 11 x [[https://​sigmanortec.ro/​Banda-LED-adresabila-RGB-WS2812-60led-m-IP67-10cm-p166125661|Banda programabila led-uri RGB]]   * 11 x [[https://​sigmanortec.ro/​Banda-LED-adresabila-RGB-WS2812-60led-m-IP67-10cm-p166125661|Banda programabila led-uri RGB]]
-  * 1 x 74HC595+  * 1 x 74HC595N
   * 2 x [[https://​www.optimusdigital.ro/​ro/​butoane-i-comutatoare/​1114-buton-cu-capac-rotund-rou.html|Buton]]   * 2 x [[https://​www.optimusdigital.ro/​ro/​butoane-i-comutatoare/​1114-buton-cu-capac-rotund-rou.html|Buton]]
   * Rezistențe,​ condensatoare,​ fire   * Rezistențe,​ condensatoare,​ fire
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 |}}
  
-**Componente**+**Explicare cablaj** 
 +  * 74HC595N
  
 +^ Pin  ^ Legătură ESP32 ^ Notă |
 +| DS   | GPIO17 ​        | Date (serial input) ​      |
 +| SHCP | GPIO18 ​        | Ceas (shift clock) ​       |
 +| STCP | GPIO19 ​        | Latch (stochează ieșirea) |
  
-**Testare componente**+Ieșirile O0-O7 sunt conectate la matricea de switch-uri, fiecare ieșire corespunzând unui rând.
  
 +  * Bandă led
 +
 +^ Pin ^ Legătură ESP32 ^ Notă |
 +| DIN | GPIO15 ​        | Semnal date LED (neopixel) |
 +
 +Banda led are nevoie de alimentare VCC de 5V.
 +
 +  * LCD I2C
 +
 +^ Pin ^ Legătură ESP32 ^ Notă |
 +| SDA | GPIO21 ​        | I2C - date |
 +| SCL | GPIO22 ​        | I2C - ceas |
 +
 +  * Matrice switch-uri reed
 +
 +^ Pin  ^ Legătură ESP32 ^ Notă |
 +| COL0 | GPIO34 ​        | doar input     |
 +| COL1 | GPIO35 ​        | doar input     |
 +| COL2 | GPIO32 ​        ​| ​                           |
 +| COL3 | GPIO33 ​        ​| ​                           |
 +| COL4 | GPIO25 ​        ​| ​                           |
 +| COL5 | GPIO26 ​        ​| ​                           |
 +| COL6 | GPIO27 ​        ​| ​                           |
 +| COL7 | GPIO14 ​        ​| ​    |
 +
 +
 +  * Butoane jucători
 +
 +^ Pin        ^ Legătură ESP32 ^ Notă                                 |
 +| WHITE_BTN | GPIO13 ​        | Întrerupere + rezistență de pull-down |
 +| BLACK_BTN | GPIO16 ​        | Întrerupere + rezistență de pull-down |
 +
 +
 +**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 45: 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.1748275553.txt.gz · Last modified: 2025/05/26 19:05 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