This is an old revision of the document!


Tic-Tac-Toe

Introducere

In loc sa desenezi acelasi chenar de X si O de 1000 de ori pe o foaie, ar fi dragut sa poti avea o platforma relativ portabila, interactiva si animata pe care poti sa joci acest joc simplu al copilariei

Descriere generală

Realizarea unui joc Tic Tac Toe pe o matrice de 9 leduri, cu un buton pentru fiecare led. Se va afisa dupa fiecare mutare la seriala/pe un LCD cat a durat fiecare mutare si la final ce simbol/culoare a castigat. La inecputul si finalul jocului se va folosi un buzzer pentru o semnalare sonora

https://www.youtube.com/watch?v=LwVzQhuowlw&ab_channel=K%C3%A1rolyIv%C3%A1n

Hardware Design

Componente:

  • Arduino
  • Breadboard
  • Joystick
  • Leduri Bicolore
  • IC SN74HC595 ( shift register )

In poza de mai sus este reprezentat modul in care au fost legate cele 9 leduri bicolore la placuta arduino. Am folosit doi registrii pentru canalele de verde si rosu mai putin ultimele doua leduri, ce au canalele de rosu direct la placuta pentru a economisi un registru. Primul registru se ocupa de canalele de verde ale primelor 8 leduri, iar al doilea de ultimul canal de verde si primele 7 canale de rosu.

Pentru selectarea spatiului dorit, am folosit un joystick generic pentru navigarea prin grid. La apasarea acestuia, se selecteaza ledul si se aprinde cu culoarea corespunzatoare jucatorului

Software Design

Pentru afisarea pe gridul de leduri am folosit functia shiftOut din biblioteca de Advanced I/O Arduino. Aceasta primeste pinii de data si ceas ai registrului, modul in care sa trimita byte-ul si byte-ul in sine. Deci modificarea byte-ului (a celor doi bytes pentru ca avem doi registrii) inseamna defapt modificarea gridului de leduri. Astfel, facand sau logic cu masca pentru bitul corespunzator ledului, putem aprinde orice led.

tic_tac_toe.txt

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.

Export to PDF

pm/prj2022/arosca/233710.1654130130.txt.gz · Last modified: 2022/06/02 03:35 by teodor_andrei.ivan
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