Tablă de șah interactivă

Introducere

Scopul proiectului este învățarea facilă a fundamentelor jocului de șah de către persoanele dornice de a practica sportul minții. Folosind această tablă interactivă, jucătorii pot experimenta cum se mută fiecare piesă pe tablă, precum și situații mai speciale de tipul “șah”, “rocadă”, “promovarea unui pion” sau situații în care încearcă să realizeze o mutare ilegală, acestea fiind marcate distinctiv prin aprinderea unei combinații de LED-uri. De asemenea, jucătorii își pot măsura timpul petrecut pentru realizarea unei mutări, dar și ultima mutare efectuată prin intermediul unui display.

Descriere generală

Tabla de șah interactivă dispune de câte un LED independent sub fiecare câmp, iar suprafața tablei este semi-transparentă, astfel încât lumina LED-ului să fie vizibilă. În plus, vor exista butoane pe marginea tablei pentru a selecta un anumit câmp atunci când se dorește aflarea mutărilor disponibile pentru piesa ce se află în acel câmp, dar și selectarea mutării ce urmează a fi efectuată, aceasta fiind urmată de apăsarea unui alt buton, de tip “OK”, pentru confirmare.

Interacțiunea cu tabla este lansată odată cu începerea unei partide. Jucătorul aflat la mutare poate selecta un câmp cu ajutorul butoanelor pentru a vedea mutările legale, iar când decide o mutare, va apăsa suplimentar pe butonul “OK”. De asemenea, odată ce începe rândul unui jucător, va porni un timer pentru a cronometra timpul scurs pe mutare, acesta fiind afișat pe ecranul LCD. Tot pe ecranul LCD și va fi afișată ultima mutare realizată de către cei doi utilizatori.

Mă voi folosi de un microcontroller Arduino Mega 2560 deoarece are atât un număr de pini destul de mare, cât și o putere suficientă de procesare. Pentru ca microcontroller-ul să poate comunica cu display-ul LCD, voi folosi un modul I2C integrat.

Pentru manipularea independentă a LED-urilor, voi folosi 2 shift register-ere.

Hardware Design

Listă de piese :!:

  1. Arduino Mega 2560
  2. Display LCD 1602 I2C integrat
  3. 64x Led-uri
  4. 2x Shift register
  5. Breadbord
  6. Fire de legatura
  7. Rezistente
  8. Test Wiring
  9. Tabla de sah + carcasa
  10. 10x Butoane

Schemă bloc:

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Arduino IDE.
  • librării şi surse 3rd-party: LiquidCrystal_I2C
  • algoritmi şi structuri pe care plănuiţi să le implementaţi: Am implementat un algoritm minimalist pentru jocul de șah, în care se pot muta piesele pe tablă, iar pentru o anumită poziție există opțiunea de a aprinde LED-urile corespunzătoare pozițiilor unde se poate ajunge.
  • (etapa 3) surse şi funcţii implementate: Eu am folosit o implementare folosind doar operații pe biți, mai exact am reprezentat fiecare poziție ca fiind un octet, astfel putând să reprezint întreaba tablă cu 2 variabile pe 32 de biți.
  • Pentru a ordona cât-de-cât codul, am folosit structuri pentru a reprezenta piesele, tabla de joc și jocul în sine.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Am reușit să implementez mutarea tuturor pieselor (înafară de rege), însă fără alte opțiuni.

În ciuda complexității jocului, am reușit să optimizez memoria folosită: 4% FLASH, 7% RAM.


Concluzii

Jurnal

Dragă jurnalule,

V-04-2024 ora 22:05 - Creare pagină de WIKI cu milestone 1.

V-10-2024 ora 20:38 - Lipisem prima coloană de LED-uri.

V-10-2024 ora 21:50 - Încă lipeam cu spor.

V-10-2024 ora 22:43 - Final de zi, terminasem de lipit LED-urile.

V-11-2024 ora 23:38 - Am lipit butoanele și mă apucasem de schemă.

V-15-2024 ora 00:09 - Am conectat anozii LED-urilor pe coloane.

V-16-2024 ora 22:40 - Am conectat catozii LED-urilor pe linii.

V-16-2024 ora 22:50 - Lipim, lipim, dar si testăm.

V-17-2024 ora 01:31 - Final de zi productivă, am și conectat LED-urile la shift registers.

V-17-2024 ora 15:54 - Am conectat LCD-ul și butoanele la breadboard + arduino.

V-18-2024 ora 16:11 - Tai test wiring-ul pentru a face loc LCD-ului (mult praf inhalat).

V-18-2024 ora 16:35 - Aproape final de hardware, mai rămân de conectat unele fire la arduino + wire management.

V-19-2024 ora 22:49 - Final de hardware.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware. Resurse Hardware:

https://www.diodes.com/assets/Datasheets/74HC595.pdf

Resurse Software:

- https://projecthub.arduino.cc/Jegqamas/control-8-x-8-led-matrix-with-only-two-shift-registers-ca382e

Export to PDF

pm/prj2024/sseverin/valentin.bogdan3003.txt · Last modified: 2024/05/27 18:29 by valentin.bogdan3003
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