Andreea-Cristina ANTOHE (25211) - Snake pe o matrice de led-uri

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Mi-am ales ca proiect implementarea jocului Snake, doar ca intr-o alta varianta (si anume pe o matrice de led-uri 8×8). Controlul asupra sarpelui va fi realizat prin patru butoane, care vor reprezenta toata posibilitatile acestuia de a produce miscare (sus, jos, stanga, dreapta). In plus, mancarea sarpelui este generata aleator si dimensiunea lui va creste cu inca o unitate dupa ce va manca.Sarpele nu va muri atunci cand intalneste un perete al camerei, ci va putea trece prin acesta, va muri doar atunci cand se lovi de propria sa coada. In functie de comenzile care sunt trimise la microcontroller, starea matricii de leduri se va modifica.

Descriere generală

Hardware Design

  • Listă de piese
    • Componente standard placa:
      • Atmega324PA-PU, Cod : Atmega324PA-PU
      • 16MHz QMIM016, Cod : Q16.000MHz HC-49S
      • 2 Diode Zener, Cod: BZX55C3V3
      • 2 LED-uri EL333, Cod:CLL-50221
      • K1X10 WSL040, Cod: HN1X40
      • K2X10, Cod: HN2X10
      • 2 PushButtons, Cod : TS-06E(TS-3)
      • Rezistente de 1k,4k7,1k5,10k; Coduri: RW25CF 100R, RW25CF 470R, - , RW25CF 10K
      • Condensatoare ceramice : 100nF , 15Pf; Coduri : -, CML 15pF 50V NP0
      • Soclu DIP40, Cod: LC40
      • Jumper
    • Alte componente:
      • Placuta de test
      • 5 PushButtons, Cod : TS-06E(TS-3)
      • Rezistente 3k3
      • Header pini
      • Matrice 8×8 led-uri
      • Fire de legatura (mama-mama)
  • Schema electrica

Software Design

  • Mediu de dezvoltare
    • Programmer's Notepad
    • bootloaderHID
    • Eagle 7.5.0
    • WinAVR
  • Funcţii si detalii legate de implementare:

Configuratia matricii de leduri este retinuta intr-un tablou bidimensional de 8×8. Aceasta contine elemente de 0 si 1 care au semificatia:

  • 0 - stins;
  • 1 - aprins;

Matricea este reprezentata pe leduri cu ajutorul functiei afisare(). La start se realizeaza un joc de culori si se aprind ledurile pe coloane pana se umple intreaga matrice. 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. Hrana este generata aleatoriu cu ajutorul functiei generare_hrana(), iar in momentul in care sarpele o mananc lungimea lui creste cu o unitate. De asemenea intregul algoritm al jocului este implementat in functia de reactualizare(), care verifica toata cazurile posibile ( daca este pe margini, daca se loveste de el insusi ⇒ sarpele o sa moara, daca ajunge la mancare). In momentul in care sarpele se loveste de el insusi, se va afisa mesajul “END GAME”.

Rezultate Obţinute

Concluzii

Proiectul a fost o provocare pentru mine. Am muncit destul de mult si a durat sa inteleg cum reusesc sa identific anozii si catozii matricei de leduri, deoarece acestia erau incrucisati si nu aveam nicio indicatie inscriptionata pe matrice si a fost destul de dificil. De asemenea, proiectul a necesitat o mare atentie din partea mea atunci cand au fost realizate lipiturile, pentru ca au fost intr-un numar destul de mare si a trebuit sa ma organizez si sa incerc sa sa lucrez cat mai ordonat. In concluzie, realizarea integrala a proiectului mi-a adus o multumire personala si consider ca a meritat tot efortul depus.

Download

Arhiva ce contine : README, sursa C, Makefile antoheandreea.zip

Jurnal

  • Cumpărare componente si placa de baza: 19.04.2016
  • Lipire componente si testare placa de baza: 23.04.2016
  • Cumparare componente etapa 2: 03.05.2016
  • Lipire componente si crearea legaturii intre placute: 11.05.2016
  • Implementare, testare, finalizare pagina de wiki: 24.05.2016

Bibliografie/Resurse

pm/prj2016/amusat/152015.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