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 ) .
  • :
  • 1) Prima problema majora pe care am intalnit-o a fost deschiderea cutiei cu tamaie (sacaz) . Timp total necesar : 45 minute . Intrumente utilizate : patent , cutit , deschizator de conserve .
  • :

  • 2) Ca sa cureti letcon-ul ai nevoie de sacaz si de un burete de sarma . Ce faci daca colegul de camera ti-a aruncat buretele cu o zi inainte de prezentare si ai nevoie sa mai lipeste niste lucruri ? Pentru mine aceasta a fost o dilema destul de mare , pana cand am gasit solutia : o agrafa de par .
  • :

  • 3) Trebuie sa tai surplusul de fire la leduri , rezistente etc ? O unghiera este de 10 ori mai eficienta decat orice patent / cleste de fire.
  • :

  • :

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

pm/prj2016/aconstantinescu/x.txt · Last modified: 2021/04/14 17:07 (external edit)
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