Radu-Alin RĂDULESCU (25152) - X & 0 cu Scor
Autorul poate fi contactat la adresa: Login pentru adresa
X & 0 : Reguli si mod de joc
Proiectul presupune implementarea jocului clasic de X & 0
in care doi jucatori pun x-uri respectiv zero-uri in cadrul unei tabele de 3×3 sa vada care este capabil sa puna 3 tokenuri identice intr-o linie dreapta.
Introducere
Descriere :
Proiectul va contine:
- 9 leduri conectate 3 cate 3 in paralele la cate o rezistenta
- 5 butoane pentru stanga , dreapta , sus , jos respective select pentru alegerea casutei dorite
- 3 leduri pentru scorul personale respective 3 leduri pentru scorul adversarului
Functionare :
- Butoanele – navigarea si selectarea ledului dorit din cadrul matricei de leduri
- ATmega 324 – faciliteaza transferul de informatii intre utilizator si leduri
- Matricea de leduri – se aprinde corespunzator instructiunilor primite de la ATmega 324
Ulterior pot aparea modificari minore in cadrul proiectului .
Soft : soft_radu_alin.radulescu-331cc.zip
pm_radulescu_radu_alin.sch
ALTE DETALII
Toata lumea a vorbit despre proiect dintr-un punct de vedere cat mai profesional , dar nimeni nu a mentionat probelemele minore care apar si care tind sa fie mult mai enervante decat ar trebui . Mai departe voi prezenta cateva din aceste probleme si solutiile pe care le-am gasit eu (nu tocmai ideale din pacate ) .
Rezultate Finale
Hardware Design
Lista de piese , cantitate respectiv pret :
ATMEGA324PA-PU cantitate 1 pret total 21.74 RON
Conector USB B Cvilux cantitate 1 pret total 2 RON
Quartz 16MHz cantitate 1 pret total 1.17 RON
Dioda Zener cantitate 2 pret total 1 RON
LED 3mm Bicolor cantitate 15 pret total 15.18 RON
LED 3mm Rosu cantitate 2 pret total 2.07 RON
K1X10 WSL040 cantitate 2 pret total 1 RON
K2X10 cantitate 2 pret total 1.17 RON
PUSHBUTTON cantitate 5 pret total 6.18 RON
Rezistente : 100R (3) , 470R (3) , 1K5(2) , 10K (2) pret total 2.18 RON
Condensator ceramic 100nF cantitate 3 pret total 1.33 RON
Condensator ceramic 15pF KEPF015 (2) pret total 0.88 RON
Soclu DIP40 dil40emf cantitate 1 pret total 1.15
Jumper cantitate 2 pret total 1.62 RON
Placa de test cantitate 1 pret 8.17 RON
Ulterior este posibil sa mai cumpar piese aditionale .
Software Design
Partea de soft am inceput-o in Notepad++ , testata direct pe placuta .
Din cauza unor probleme mentionate mai jos , am fost nevoit sa incep sa lucrez in Visual C++ x86
Algoritmul este relativ simplu : Se testeaza dupa fiecare mutare daca o linie , coloana sau diagonala are 3 de 0 (O) sau de 1 (X) .
In caz de succes se aprinde un bec in cadrul scorului
In caz contrar i se ofera oponentului oportunitatea de a plasa X / 0
Navigarea se face cu ajutorul celor 4 butoane : dreapta , stanga , sus , jos
Selectarea se face cu butonul din mijloc
Surse de inspiratie : Wikipedia , cs.curs.pub.ro/wiki/pm/lab , alte surse minore
Implementarea nu este finalizata .
Rezultate Obţinute
Partea de hard a fost implementata complet comform schemei din Eagle
Functionarea a fost testata partial (ledurile se aprind cu 2 exceptii) - inca nerezolvat
Partea de soft nu a fost terminata
Ideea de baza si un algoritm general au fost implementate totusi
La un moment dat , dintr-o cauza sau alta (cel mai probabil din cauza rezistentelor prea mici pentru led-urile alese) , am fost nevoit sa ma opresc din testarea aplicatiei pe placa si am lucrat doar virtual .
Concluzii
Proiect foarte frumos , destul de complicat , la care timpul minim alocat pentru cel mai simplu proiect posibil ar fi de cel putin o saptamana (pentru un proiect complet , clar , bine realizat si corect).
Garantat , pe vara , urmeaza sa revin la acest proiect si sa termin ce am inceput
Prima aplicatie cu adevarat practica care am facut-o in aceasta facultate (hard + soft + lucru manual)
Probabil materia mea preferata de anul acesta datorita aplicatie practice .
Download
Jurnal
Componente primite prin intermediul unei comenzi pe intreaga serie
Un set de rezerva a fost cumparat in cazul in care apar probleme serioase
Laborator , am facut lipiturile de baza si mi-a fost incarcat software - ul
Primul microcontroller s-a dovedit defect , motiv pentru care am fost nevoit sa revin si sa reincarc soft-ul pe al doilea .
Am cumparat componentele necesare proiectului din cadrul magazinului Conex Electric de pe Maica Domnului
Am inceput lipirea componentelor
Aproape 12 ore mai tarziu , sambata , inca lipesc la componente … neasteptat de dificil mai ales partea de conexiune cu fire
Am invatat sa lucrez cu 3 maini : in dreapta letcon-ul , in stanga firul si in dinti fludorul .
De retinut : Fumul produs de fludor se curata FOARTE greu de pe ochelari
Am terminat de lipit toate componentele , 2 zile ramase pana la termenul limita
Incepem lucrul la program .
Program nefinalizat , fum negru din placuta (nu stiu exact de unde)
Opresc testele pe placuta lucrez mai departe spre finalizarea programului folosind Notepad++ respectiv Visual C++ x86 .
4 ore inainte de predare , completez wiki .
Bibliografie/Resurse