This shows you the differences between two versions of the page.
pm:prj2023:ncaroi:tabla-de-sah [2023/06/01 18:05] radu_ioan.pascale [Resurse][Download] Added aditional links. |
pm:prj2023:ncaroi:tabla-de-sah [2023/06/02 18:58] (current) radu_ioan.pascale [Rezultate Obţinute si concluzii] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== C.I.A.C - (Li)Chess Interface with Arduino Control ====== | ====== C.I.A.C - (Li)Chess Interface with Arduino Control ====== | ||
===== Introducere ===== | ===== Introducere ===== | ||
+ | {{:pm:prj2023:ncaroi:cutie_finala_lichess.jpeg?600}} | ||
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 [[https://lichess.org/api|Lichess]]. | 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 [[https://lichess.org/api|Lichess]]. | ||
Line 93: | Line 94: | ||
* La incepului rularii scriptului se creeaza clientul, numit in continuare **ciac_bot**, si un thread Reader care ruleaza ca **daemon**. | * La incepului rularii scriptului se creeaza clientul, numit in continuare **ciac_bot**, si un thread Reader care ruleaza ca **daemon**. | ||
* Se asculta eventuri de tip new challenge sau gameStart si se creeaza threaduri noi de tip Game in functie de gamemode-ul selectat. Gamemode-ul default e online, dar pot juca si doua persoane simultan pe aceeasi tabla, caz in care se creeaza un challenge intre **ciac_bot** si **ciac_bot_friend** in care se inregistreaza meciul pentru a fi analizat ulterior pe calculator. | * Se asculta eventuri de tip new challenge sau gameStart si se creeaza threaduri noi de tip Game in functie de gamemode-ul selectat. Gamemode-ul default e online, dar pot juca si doua persoane simultan pe aceeasi tabla, caz in care se creeaza un challenge intre **ciac_bot** si **ciac_bot_friend** in care se inregistreaza meciul pentru a fi analizat ulterior pe calculator. | ||
- | ===== Rezultate Obţinute ===== | + | ===== Rezultate Obţinute si concluzii ===== |
- | {{:pm:prj2023:ncaroi:ciac_capac.jpg?600}} | + | |
- | {{:pm:prj2023:ncaroi:ciac_schelet.jpg?600}} | + | |
- | [[https://www.youtube.com/embed/O1Tlt5GdJaM|Link catre varianta prezentata la PM fair.]] | + | <note>[[https://www.youtube.com/embed/O1Tlt5GdJaM|Link catre varianta prezentata la PM fair.]]</note> |
- | ===== Concluzii ===== | + | |
+ | Am invatat ca de multe ori ceea ce pare usor pe hartie se dovedeste a fi un chin in realitate. Pe parcursul proiectului, a trebuit sa-mi schimb de multe ori abordarea pentru ca de multe ori am descoperit ca ideile mele nu functioneaza asa cum m-as fi asteptat. Am improvizat mult si am fost nevoit sa renunt la multe lucruri pe care as fi vrut sa le adaug la proiect din cauza lipsei de timp. | ||
+ | |||
+ | Cele mai multe probleme le-am avut cu senzorii magnetici pentru ca uneori citeau prost, iar alteori nu citeau deloc. De asta, am fost nevoit sa schimb o parte din ei si sa improvizez un capac din carton pentru tabla pentru ca nu reuseam sa citesc intr-un mod consecvent senzorii prin materiale putin mai groase. | ||
+ | |||
+ | In final, desi am avut parte de multe dezamagiri de-alungul proiectului, ma simt foarte bine ca am reusit sa-l duc la capat. Satisfactia de a realiza ceva functional cu mainile tale e un lucru greu de echivalat. | ||
===== Download ===== | ===== Download ===== | ||
- | * [[https://github.com/radupascale/pm/tree/main/proiect | Link Repo public proiect]] | + | * [[https://github.com/radupascale/pm/tree/main/proiect | Link Repo]] |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | ==== TO DO ==== | + | * 29-04-2023: Am testat logica de citire a senzorilor pe un breadboard cu cativa senzori. |
+ | * 30-04-2023: Am inceput sa lucrez la capacul pentru tabla de sah si m-am taiat atat de tare cu un cutter de la Dexter incat am ajuns la urgente. todo: de adaugat betadina la lista de materiale. | ||
+ | {{:pm:prj2023:ncaroi:tabla_lipita.jpeg?400}} | ||
+ | * 02-05-2023 - 05-05-2023: Am terminat de realizat cablajul pentru senzori si am invatat sa lipesc. | ||
+ | {{:pm:prj2023:ncaroi:senzori_fata.jpeg?400}} | ||
+ | {{:pm:prj2023:ncaroi:senzori_spate.jpeg?400}} | ||
+ | * 16-05-2023: Am mai facut niste DIY ca sa bag magnetii in piese azi si am inlocuit toate monezile cu niste piulite. Uneori se prindeau piesele intre 2 banuti, asa ca a trebuit sa caut o alternativa cu o suprafata mai mica. | ||
+ | {{:pm:prj2023:ncaroi:magnet_piesa.jpeg?400}} | ||
+ | * 19-05-2023: Am terminat de realizat partea de hardware dupa mult debuggind la senzori: | ||
+ | {{:pm:prj2023:ncaroi:ciac_schelet.jpg?400}} | ||
+ | {{:pm:prj2023:ncaroi:ciac_capac.jpg?400}} | ||
+ | * 21-05-2023 - 24-05-2023: Am facut comunicarea cu serverul de Lichess si afisarea pe ecranul TFT. | ||
+ | {{:pm:prj2023:ncaroi:cablaj_complet.jpeg?400}} | ||
+ | {{:pm:prj2023:ncaroi:ecran_tft.jpeg?400}} | ||
+ | * 29-05-2023: Nu puteam citi toti senzorii prin tabla de sah pe care voiam sa o folosesc initial, asa ca a trebuit sa-mi confectionez alta cutie. Astazi marchez sfarsitul lucratului la tabla de sah. | ||
+ | {{:pm:prj2023:ncaroi:cutie_finala.png?400}} | ||
+ | {{:pm:prj2023:ncaroi:cutie_finala2.jpeg?400}} | ||
===== Resurse ===== | ===== Resurse ===== | ||
==== Resurse Software ==== | ==== Resurse Software ==== | ||
Line 110: | Line 131: | ||
* [[https://learn.sparkfun.com/tutorials/multiplexer-breakout-hookup-guide | tutorial MUX sparkfun]] | * [[https://learn.sparkfun.com/tutorials/multiplexer-breakout-hookup-guide | tutorial MUX sparkfun]] | ||
* [[https://lichess.org/api | Lichess API documentation]] | * [[https://lichess.org/api | Lichess API documentation]] | ||
- | * [[(https://python-chess.readthedocs.io/en/latest/ | Python chess documentation]] | + | * [[https://python-chess.readthedocs.io/en/latest/| Python chess documentation]] |
* [[https://berserk.readthedocs.io/en/master/ | Berserk documentation]] | * [[https://berserk.readthedocs.io/en/master/ | Berserk documentation]] | ||
==== Resurse Hardware ==== | ==== Resurse Hardware ==== |