This is an old revision of the document!


Tabla de C.I.A.C

Introducere

Proiectul presupune realizarea unei table de șah care poate fi conectată printr-un port USB la calculator pentru a juca meciuri online sau OTB(over the board) cu un prieten folosind API-ul oferit de Lichess.

Am vrut să fac un proiect care să se alinieze cu unul din hobby-urile mele la momentul de față, ceva pe care să-l pot folosi ulterior ca să exersez sau ca să pierd timpul. Întamplarea a făcut ca semestrul acesta să mă prindă in febra șahului, iar asta mi-a dat ideea de a face un proiect care să combine satisfacția de a juca șah pe o tablă fizică cu utilitatea unui chess engine.

Descriere generală

ARDUINO UNO - 1

Una din funcționalitățile principale ale tablei este detectarea pieselor folosind senzori magnetici și transmiterea datelor de la Arduino la calculator pentru procesarea mutărilor. Sub fiecare pătrat al tablei de șah se află un senzor hall A3144 așezat pe o bucată mică de metal, mai exact o moneda de 10 bani. În momentul în care o piesă este așezată pe tablă, magnetul de la baza ei magnetizează moneda, activând astfel senzorul. Citirea tablei se realizează prin activarea pe rând a fiecărei coloane cu un shift register și citirea datelor de pe fiecare linie cu un multiplexor (vezi schematic).

Interacțiunea cu utilizatorul se va realiza cu ajutorul unui ecran TFT cu touchscreen în felul următor:

  1. Utilizatorul poate selecta modul de joc (vs Stockfish, online sau OTB)
  2. Se va afișa timpului rămas fiecărui jucător
  3. În cazul în care se joacă online, ecranul va afișa mutarea făcută de oponent în notație algebrică (ex. E4, NxF6, etc.)
  4. În cazul în care mutarea efectuată de un jucător nu este legală, se va afișa configurația anterioară a tablei

Hardware Design

Materiale folosite

TO DO: Schematic

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

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

Resurse Software

pm/prj2023/ncaroi/tabla-de-sah.1683103257.txt.gz · Last modified: 2023/05/03 11:40 by radu_ioan.pascale
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