Table of Contents

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

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

  • Soft : Makefile + Main

soft_radu_alin.radulescu-331cc.zip

  • Hard : Schema electrica , poze , documentatie .

hard_radu_alin.radulescu-331cc.zip

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

  • M-am inspirat din proiectele de pe cs.curs.pub.ro/wiki/pm/prj2015
  • Laboratoarele furnizate.
  • Cartea tehnica

doc8272_1_.pdf