Iulia Mihaela GRUIA, Andrei ROMAN - SNAKE Box

Autorii pot fi contactati la adresa: Login pentru adresa

Introducere


Proiectul consta in implementarea binecunoscutului joc Snake pe o matrice de leduri 8×8. Scopul jocului este de a aduna cat mai multa “hrana”. Sarpele va fi controlat prin 4 butoane reprezentand cele 4 directii(sus,jos,stanga,dreapta).

Descriere generală






Microcontrolul Atmega324PA va primi comenzi de la butoane in functie de care se va modidifica starea matricii de leduri. Astfel la apasarea butonului de Start/Reset va porni un joc nou, iar la apasarea butoanelor de directie snake-ul isi va schimba directia de deplasare. In cazul in care jocul a inceput si player-ul nu mai apasa nici un buton se va calcula noua pozitie fara modificarea directiei snake-ului.

Hardware Design

Placuta Etapa 1

Lista Componente

Placuta etapa1: http://cs.curs.pub.ro/wiki/pm/cablaj/proiect2015

  • ATMEGA324PA-PU
  • doua condensatoare neelectrolitice
  • doua LED-uri 3mm Rosii
  • K2X10
  • K1X10 WSL040
  • Quartz 16MHz
  • Rezistenta 10k
  • doua Rezistente 1K
  • Rezistenta 2,2K
  • trei Rezistente 100R
  • doua PUSHBUTTON
  • Soclu DIP40 dil40emf
  • Conector USB B Cvilux
  • doua Diode Zener
  • trei Condensatoare 100nF
  • Jumper

Piese auxiliare:

  • Placuta test
  • Matrice leduri 8*8(unicolora)
  • Integratul ULN2804APG
  • Soclu 18 pini
  • 5 PUSHBUTTON
  • 8 rezistente de 220Ω
  • Fire de legatura mama-tata
  • Fire de legatura tip panglica

Reprezentare matrice LED

Schema Eagle

Software Design

Mediul de dezvoltare folosit

  • Eagle 7.3.0
  • WinAVR
  • Programmer's Notepad
  • bootloadHID

Functii si detalii implemetare

Configuratia matricii de leduri este retinuta intr-un tablou bidimensional de 8×8. Aceasta contine elemenete egale cu 0 sau 1 cu semificatia urmatoare:

  • 0 led stins;
  • 1 led aprins;

Matricea este reprezentata pe leduri cu ajutorul functiei desenare_matrice(). Jocul se desfasoara in felul urmator:

  • la start(prin apasarea butonului din dreapta) se aprind pe rand ledurile pana se umple intreaga matrice;
  • ulterior playerul are posibilitatea de a-si alege nivelul jocului ce consta in schimbarea vitezei sarpelui;
  • sarpele isi schimba directia cu ajutorul celor 4 butoane(sus, jos, stanga, dreapta);
  • jocul se opreste in momentul in care sarpele se intersecteaza cu el insusi si este afisat mesajul GAME OVER;

Hrana este generata aleator cu ajutorul functiei generare_hrana(), iar in momentul in care sarpele o “mananca” lungimea acestuia se mareste cu o unitate.

Rezultate Obţinute

Concluzii

Acest proiect ne-a consolidat, prin realizarea si programarea dispozitivului hardware, cunostintele dobandite in cadrul laboratorului de PM.
Consideram ca, cea mai interesanta etapa a proiectului a fost alcatuirea schemei electrice si lipirea componentelor.Aceasta am considerat-o o noua provocare.
Cea mai anevoiasa parte a proiectului a fost identificarea anozilor si a catozilor matricei de leduri, deoarece acestia erau incrucisati si nu aveam nicio indicatie inscriptionata pe matrice.

Download

Jurnal

  • Cumpărare componente si placuta(placa de baza), completare informatii in wiki : 20-26.04.2015
  • Lipire componente si testare placa de baza, completare informatii in wiki: 27.04-03.05.2015
  • Cumparare componente etapa 2(restul componentelor pentru proiect): 05.05.2015
  • Lipire componente (placa test),crearea legaturii intre placi, completare informatii in wiki: 09-17.05.2015
  • Implementare, testare, finalizare wiki: 18-24.05.2015

Bibliografie/Resurse

pm/prj2015/anitu/a.i.pm2015.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