This is an old revision of the document!


Smart Chessboard

Introducere

Proiectul constă în realizarea unei table de șah inteligente, capabilă să ofere următoarele mutări posibile pentru ambii jucători.

Î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.

Descriere generală

Tabla de șah este controlată cu ajutorul unui Arduino Nano cu microcontroller ATmega328P.

Î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.

Hardware Design

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

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

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Bibliografie/Resurse

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

Export to PDF

pm/prj2024/vstoica/darius.stefan.1714932484.txt.gz · Last modified: 2024/05/05 21:08 by darius.stefan
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