Autorul poate fi contactat la adresa: Login pentru adresa
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).
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.
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
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.
Desi este un considerat un proiect usor necesita multa concentrare, in special la lipitul firelor.
Arhiva proiect: moraru_cod_proiect.7z
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.