X&0

Introducere

Proiectul consta in implementarea unui joc de x si 0 pe un LCD, iar interactiunea cu jucatorul va fi realizata prin joystick sau telefon cu ajutorul unui modul Bluetooth.

Scopul proiectului este de a realiza un joc interactiv cu ajutorul unor componetente hardware.

Ideea a venit de pe pagina cu idei pentru proiecte. M-am inspirat de acolo si am adaugat cateva imbunatatiri la proiectul initial.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Pozitionarea aleasa de jucatori in matricea de 3×3 poate fi realizata atat printr-un joystick cat si cu telefonul(butoanele w, a , s, d) care este conectat printr-un modul bluethooth. Cand alegem o poztite se va reda un sunet cu ajutorul buzzer-ului, iar cand castiga unul din jucatori va fi redat un sunet mai vesel. Jocul va fi afisat pe un ecran LCD unde va fi posibila urmarirea evolutiei jocului.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Listă de piese:

LCD
Modul Bluetooth
Joystik
Arduino
Fire
Buzzer.

Schema Electrica

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

Implementare:

Ecranul initial este reprezentat de table pentru x&0. Tabla este construita in functie de lungimea/latimea LCD-ului, iar poztiile sunt alese tot in functe de acestea. Prima pozitie care apare este cea din stanga sus, care va fi selectata prin umplerea patratului cu rosu. Prin miscarea Joystick-ului ne putem muta pe tabla pentru a alege pozitia. Atunci cand apasam butonul joystick-ului selectam o pozitie, iar buzzerul va scoate un sunet scurt.

Pozitiile deja alese vor fi retinute in niste vectori de poztii, iar numarul de miscari va fi incrementat intr-un counter. Daca jocul este castigat pe ecran va fi afisat un mesaj : “X won”/”0 won” si buzzerul va scoate un sunet mai lung. Daca este remiza se va afisa “Draw”.

Mediu de dezvoltare:

Arduino IDE

Biblioteci folosite:

TFT- pentru LCD-ul TFT KMR 1.8 SPI

SPI

AxisJoystick – pentru Joystick.

Rezultate Obţinute

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

Concluzii

Am intampinat cateva probleme la implementarea functionalitatii joystick-ului, pana am descoperit biblioteca AxisJoystick.

Nu am reusit sa implementez functionalitatea modului bluethooth, insa in final jocul a iesit destul de bine, am avut o experienta placuta din care am invatat sa lucrez cu Arduino Uno, LCD, Joystick si buzzer.

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.

savu_oana_333ac.rar

Jurnal

  • 19.04.2022 : Alegere proiect
  • 21.04.2022 : Realizare pagină
  • 16.05.2022 : Au venit piesele
  • 17.05.2022 : LCD-ul era prea mic a trebuit sa comand altul
  • 20.05.2022 : Asamblare Proiect
  • 26.05.2022 : Finalizare cod proiect
  • 27.05.2022 : Finalizare Documentatie

Bibliografie/Resurse

pm/prj2022/imacovei/oana_georgiana.savu.txt · Last modified: 2022/05/27 16:05 by oana_georgiana.savu
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