Andrei Ciprian APRODU - X si O

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea pe placuta a unui joc de X si 0 ce poate fi jucat impotriva unui alt jucator sau impotriva unui AI. De asemenea vor exista 3 led-uri pentru a tine scorul si un difuzor ce v-a anunta cand se termina jocul.

Descriere generală

Input-ul jocului va veni de la butoane care vor avea rol de miscare prin matrice de led-uri si de selectare a pozitiei. In functie de input, output-ul se va afisa pe matricea de led-uri, iar daca este cazul pe led-urile ce tin scorul.

Hardware Design

Piese obligatorii:

  • 1 microcontroller ATMEGA324PA-PU
  • 2 condensatori neelectrolitici 15pF KEPF015
  • 2 LED-uri rosii 3mm EL333
  • 1 bareta pini K2X10
  • 1 bareta pini K1X10 WSL040
  • 1 quartz 16MHz QMIM016
  • 1 rezistenta 10K
  • 2 rezistente 1K
  • 3 rezistente 100R
  • 1 rezistenta 2.2K
  • 2 butoane
  • 1 soclu DIP40 dil40emf
  • 1 conector USB B Cvilux
  • 2 diode Zener
  • 3 condensatoare 100nF
  • 1 jumper

Piese X si 0:

  • 9 LED-uri RGB
  • 9 rezistente 100 Ω
  • 5 butoane
  • 1 buzzer

Schema Electrica:

Software Design

Pentru dezvoltarea codului am folosit Atmel Studio, respectiv Programmer's Notepad.

Fiecare led este considerat un patratel din jocul de X si 0. Led-ul ce marcheaza pozitia de miscare este rosu, led-urile selectate de jucator sunt albastre, iar cele selectate de AI verzi.

Led-urile nu sunt tinute aprinse in permanenta deoarece am folosit rezistente foarte mici, astfel la fiecare moment de timp (10 ms) este activa o singura coloana.

Deoarece rezistenta este pusa pe catod-ul comun, led-urile vor folosi doar culorile de baza, RGB, fara a le combina.

Evidenta scorului este tinuta astfel: in momentul victoriei, fie a player-ului fie a ai-ului, se vor aprinde led-urile playeru-ului si buzzer-ul va scoate un sunet de N ori, unde N este numarul meciurilor castigate de acesta, iar dupa o scurta pauza, se va intampla similar si pentru AI.

Rezultate Obţinute

Concluzii

Proiectul a fost interesant, insa nu din punct de vedere software, ci hardware.

Download

Arhiva cu fisier sursa, makefile si schema electrica: pm_aproduc.zip.

pm/prj2015/ddragomir/xo_123.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