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

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.

Pentru a retine ce lumini au fost aprinse si de cine au fost aprinse, am folosit un array de 9, fiecare element fiind setat pe 0, 1 sau 2, semnificand stins, rosu, respectiv verde.

Aprinderea acestora se face cand se citeste de pe pinul digital 3 (SW al joystick-ului) valoarea 0 (adica a fost apasat). In acel moment led-ul curent este aprins in culoarea jucatorului curent, cursorul este mutat pe urmatoarea pozitie disponibila si culoarea acestuia se modifica, semnaland faptul ca este tura urmatorului jucator.

Rezultate Obţinute

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

Concluzii

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.txt · Last modified: 2022/06/02 03:46 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