This is an old revision of the document!
În plus, tabla integrează și un ceas de șah pentru meciuri de Speed Chess și oferă posibilitatea salvării mutărilor efectuate într-un joc pe un card SD.
Un astfel de proiect poate fi util pentru cineva care începe să joace șah și vrea să se antreneze într-un mod mai interactiv.
În fiecare din cele 64 de căsuțe de pe tablă există câte un switch magnetic (Reed) care comută la ridicarea piesei și câte un LED RGB care ajută la semnalizarea mutărilor posibile. Fiind multe switch-uri sunt folosite 8 registre Parallel-In-Serial-Out înseriate pentru a comunica cu microcontroller-ul printr-un singur pin de date. LED-urile sunt de tipul celor din benzile LED, care se pot înseria pentru a le aprinde folosind doar un pin de date.
Pentru afișajul ceasului de Speed Chess este folosit un modul de ecran OLED care comunică pe I2C, iar ceasul în sine este controlat folosind numărătoarele de pe ATmega și butoanele jucătorilor.
Un modul de card SD este folosit pentru a salva mutările din jocurile de șah, comunicând prin SPI.
În plus, o sursă de tensiune externă este adăugată pentru a oferi ceva mai reliable decât pinul de 5V de pe Arduino și conectorul USB-C.
- plăcuță Arduino Nano cu USB-C (https://www.sigmanortec.ro/placa-dezvoltare-nano-v3-ch340-atmega328p-au-type-c-16m-5v)
- baterii
- 64 de switch-uri Reed (https://www.sigmanortec.ro/Comutator-magnetic-Reed-N-O-p161249015)
- 64 de LED-uri WS2812B-MINI (https://www.tme.eu/ro/details/ws2812b-mini/diode-led-smd-colorate/worldsemi/)
- 8 shift registers SN74HC165N (https://www.tme.eu/ro/details/sn74hc165n/registri-de-deplasare/texas-instruments/)
- modul card SD pe SPI (https://www.optimusdigital.ro/en/memories/1516-microsd-card-slot-module.html)
- ecran OLED pe I2C
- rezistori
- condensatoare
- butoane
Pentru partea de tablă de șah am ales să-mi construiesc un PCB care să încorporeze LED-urile, switch-urile și regiștrii PISO. De pe acest PCB mă conectez la un Arduino NANO, aflat pe un breadboard alături de 2 butoane și un display OLED (care compun ceasul de șah), dar și de modulul microSD pe care se salveaza mutările.
Schema electrică:
-regiștrii, înseriați câte 4, dar comandați de același semnal de LATCH și CLOCK:
-switch-urile Reed, conectate cu rezistențe de pull-down:
-LED-urile, care au câte un condensator de decoupling de 100nF:
Design-ul PCB-ului l-am făcut cu EasyEDA. Este un design în 2 layere care sunt conectate între ele de unele borne ale componentelor:
Am scos la imprimantă top layer-ul și bottom layer-ul PCB-ului și l-am transferat pe o placă de textolit laminată cu cupru. Am corodat placa cu persulfat de sodiu și am început să lipesc piesele.
Pe breadboard componentele sunt conectate astfel:
- cele 2 butoane sunt conectate la pinii D2 și D3 ai Arduino-ului pentru a folosi întreruperile externe INT0 și INT1, folosind rezistențele interne de pull-up
- display-ul OLED este conectat la 5V, la GND, la A4 - SDA și la A5 - SCL
- modulul de card microSD este conectat la 5V, la GND, la D10 - CS, la D11 - MOSI, la D12 - MISO și la D13 - SCK
- ceilalți pini: D4 - intrare de la primii 4 regiști, D7 - intrare de la ceilalți 4 regiștri, D5 - ieșire de ceas pentru regiștri, D6 - ieșire de latch pentru regiștri
- de pe breadboard se conectează la 5V și la GND și PCB-ul, pinii de CLK_INH ai regiștrilor se conectează tot la GND
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.