Table of Contents

Bogdan-Andrei MORARU-APOSTOL (66957) - Tic-Tac-Toe

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

1. Ce face ?

Proiectul presupune implementarea celebrului joc X si 0. Regulile jocului le stie toata lumea asa ca voi da detalii de implementare:

* <fc #008000>player1</fc> vs <fc #FF0000>player2</fc>.

* mutarea se va realiza folosind cele 5 butoane: sus, jos, stanga, dreapta si ok care va face ca led-ul sa stea aprins.

* fiecare player va avea cate o culoare asociata: verde - player1, rosu - player2.

* tabla de joc va fi formata dintr-o matrice cu 9 led-uri: 3×3.

* pentru a nu exista conflicte intre playeri se vor juca 2/3. Datorita acestui lucru vor exista cate 3 leduri(verde/rosu) pentru fiecare jucator asezate pe placa.

* jocul se termina cand unul dintre jucatori realizeaza o linie/coloana/diagonala.

2. Care este scopul lui ?

Scopul este unul simplu: relaxarea jucatorilor (isi iau nasul cateva minute din fata calculatorului).

3. Care a fost ideea de la care ati pornit ?

Ideea a fost sa aleg un proiect interactiv care imi aduce aminte de copilarie.

4. De ce credeti ca este util pentru altii si pentru voi ?

Pentru altii este util intrucat fiecare doreste sa dovedeasca ca este mai bun la un anumit joc(in cazul de fata X si 0).

Pentru mine este util intrucat este prima experienta de acest gen(constructia placutei).

Descriere generală

5. Schema bloc:

6 Descriere

Interactiunea cu utilizatorul este realizata cu ajutorul butoanelor ☝ ☟ ☜ ☞ ✔ .

Placuta preia instructiunile primite de butoane si schimba starea led-urilor(aprins/stins).

Matricea contine 9 leduri pentru afisarea tablei si 6 leduri(cate 3 pentru cei 2 playeri) pentru scor.

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ă.

Hardware Design

7. Lista piese de baza

☞ ATMEGA324PA-PU, COD: ATMEGA324PA-PU

☞ USB-B, COD: USB B-PCB-R

☞ 16MHZ QMIM016, COD: Q16.000 MHz HC-49S

☞ 2 DIODE ZENER, COD: BZX55C3V3

☞ 2 LED-uri EL333, COD: CLL-50221

☞ K1X10 WSL040, COD: HN1X40

☞ K2X10, COD: HN2X10

☞ 2 PUSHBUTTON, COD: TS-06E (TS-3)

☞ Rezistente 100R, 470, 1K5, 10K

☞ Condensator ceramic 100nF, 15pF

☞ Soclu DIP40 dil40emf, COD: LC40

☞ Jumper

8. Piese necesare pentru realizarea proiectului

Software Design

schema_bogdan_moraru.sch

Descrierea codului aplicaţiei (firmware):

  Cand jocul incepe, led-ul 0-0 se va aprinde. Intotdeauna va incepe player-ul rosu. 
  Am definit o structura in care retin pinii si porturile, si o alta in care retin linia si coloana. 
  In functie de linie-coloana initializez led-urile si matricea de led-uri 3x3. 
  Cu ajutorul butoanelor ma deplasez sus, jos, stanga, dreapta, iar butonul ok aprinde led-ul rosu/verde. 
  O data aprins butonul, ramane aprins si am grija sa il evit atunci cand ma deplasez(sa nu aprind acelasi led). 
  Pentru a incepe un joc nou, se apasa butonul reset.  

Rezultate Obţinute

Concluzii

Desi este un considerat un proiect usor necesita multa concentrare, in special la lipitul firelor.

Download

Arhiva proiect: moraru_cod_proiect.7z

Jurnal

  Saptamana 8: Am invatat cum se lipesc anumite componente pe placa de baza.
  Saptamana 9: Am comandat piesele necesare + exersare lipire.
  Saptamana 10: Am inceput lipitul componentelor pe placa de baza.
  Saptamana 11: Am terminat de lipit toate componentele pe placa de baza.
  Saptamana 12: Am inceput lipirea de piesele pe placa de test.
  Saptamana 13: Am terminat de lipit toate componenetele pe placa de test si m-am apucat de scris cod.
  Saptamana 14: Terminare cod + Prezentare proiect.

Bibliografie/Resurse

1. Laboratoare PM

2. Hall of Fame