Andrei-Marius POPA (78454) - Tabla de sah interactiva

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Scopul proiectului este realizarea unei table de sah interactive care afiseaza mutarile posibile.

Descriere generală

Dupa cum se obsera din schema proiectului, microcontrolerul este conectat la 64 de senzori Hall si 64 de led-uri, grupate cate doua. Astfel atunci cand o piesa este mutata senzorii semnaleaza schimbarea si microcontrolerul genereaza un raspuns visual asupra validitatii miscarii si a optiunilor de mutare a acelei piese.

Hardware Design

Lista de piese:

  • 64 de led-uri
  • 64 de senzori de efect Hall
  • 4 multiplexoare 16:4
  • 2 registre de shiftare pe 8 biti
  • magneti

Software Design

Programul ce sta la baza proiectului a fost dezvoltat in AVRStudio. Programul are la baza o structura repetitiva care executa 3 operatii principale:

  1. asteapta sa fie mutata o piesa;
  2. genereaza miscarile posibile pt. acea pieasa;
  3. aprinde led-urile pt. a semnala miscarile posibile.

Pt. primul pas folosesc o functie care citeste secvential output-ul fiecarui senzor si il compara cu o datele memorate de la runda precedenta, iar atunci cand intalneste vreo diferenta intoarce coordonatele de pe tabla.

Inainte de a se trece la urmatoare etapa se verifica daca piesa din patratica respectiva poate fi mutata(daca e a jucatorului curent si daca acesta nu e in sah). Daca piesa nu poate fi mutata se semnaleaza acest lucru prin aprinderea tuturor led-urilor pana cand piesa este pusa la loc.

In etapa a doua microcontrolerul calculeaza intr-o matrice auxiliara, unde poate fi mutata piesa. Matricea rezultata este apoi trimisa drept parametru functiei de aprindere a LED-urilor.

Rezultate Obţinute

O matrice de LED-uri extrem de overpriced.

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:prj2017:avoinescu:dumitru_alin.

Bibliografie/Resurse

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

  • Documentația în format PDF
pm/prj2018/mandrei/andrei.popa2701.txt · Last modified: 2021/04/14 17:07 (external edit)
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