Daniil Constantin
Grupa 331 CC
Proiect la Proiectare cu Microprocesoare
Anul 2010
Profesor: Nicolae Tapus
Coordonator de Proiect: Dan Tudose
Titlul Proiectului: Space Invaders (joc realizat folosind o matrice de 8*8 leduri)
Acest reprezinta o aplicatie realizata folosind o matrice de leduri. Aplicatia este clasicul joc Space Invaders .
Descrierea jocului:
-jucatorul trebuie sa apere eroic planeta sa de hoardele de invadatori extraterestrii
-jucatorul controleaza o nava care se poate deplasa spre stanga, dreapta sau poate trage (se afla pe nivelul inferior al campului de lupta)
-extraterestrii inamici vin in valuri, de la nivelul superior, incercand sa ajunga la cel inferior
-jucatorul are obiectivul de a trage si a omoara toti inamicii, pana ca aceastia sa ajunga la nivelul inferior
Implementarea jocului:
-jocul este implementat folosind o matrice de leduri 8*8 (campul de lupa este de 64 de leduri)
-atat nava, inamicii cat si proiectilele sunt reprezentate prin leduri aprinse
-nava este reprezentata de un led ce se poate deplasa pe randul cel mai de jos
-gloantele sunt reprezentate de un led, care se deplaseaza de jos in sus
-inamicii, reprezentati de cate un led, sunt grupati cate 8 pe un rand si se deplaseaza de sus in jos
-controlul este data folosind 4 butoane
Un screen-shot al jocului original este disponibil mai jos
Componente folosite:
Proiectul poate fi vizualizat mai jos
Spatele placutei
Specificatii hardware:
Software-ul pentru rulalrea programului este scris in limbajul de programare C.
Reprezinta un singur fisier C numic spaceinv.c.
Pentru a putea rula, programul se complieaza rezultand un program hex, iar acesta se incarca pe microcontroller folosind programatorul USB.
Programul foloseste o matrice 8*8 a, pe care o scrie cu 0 si 1, 1 reprezentand leduri aprinse iar 0 leduri stinse.
Specificatii program:
Specificatii joc:
Modalitate de control:
Butoanele sunt numerotate astfel:
Butoanele au urmatoarele functii:
Avantajele software-ului / hardware:
Primul test a fost aprinderea, pe rand, a tuturor ledurilor de pe matrice, modificand pozitia ledului aprins folosind 4 butoane (sus, jos, stanga, dreapta).
Cel de-al doile test a reprezentat un prototip al joclui, inital existand doar o nava ce se putea deplasa pe o linie si trage.
Urmatorul teste a fost introducerea unui singur rand de inamici ce trebuia distrus.
Varianta finala a jocului a fost testa, existand mai multe randuri de inamici ce vin grupati diferit, jocul putand fi jucat la infinit.
O rulare a jocului poate fi vazuta mai jos
Folosind numai componente electrice basice, a caror suma nu depaseste 70 RON, am realizat o consola primitiva de jocuri.
In functie de programul incarcat pe ea, pe aceasta “consola” putem joca jocuri precum snake, yams, pong etc.
Nintendo, Sony si Microsoft tremura deja.
-13 martie 2010 - corodat si gaurit placuta, la placutiada 2010
-19-20 martie 2010 - lipit componentele pe placuta
-22 martie 2010 - pus bootloader si program de test pe placuta → terminat faza 1
-6-8 aprilire 2010 - cumparat componente pentru proiect
-12-19 aprilire 2010 - lipit componentele pentru a crea matricea si butoanele
-28-30 aprilire 2010 - facut conexiunile intre placuta, butoane si matrice
-5 mai 2010 - scris program pentru aprinderea unui led de pe matrice
-10 mai 2010 - scris programul pentru realizarea primului prototipului jocului
-17 mai 2010 - imbunatatit programul prin adugarea unui sir de inamici care ataca si pot fi distrusi folosind proiectile
-26 mai 2010 - terminat de scris si testat varianta finala a jocului pe placuta
-3 iunie 2010 - retusat wikia, adaugat video + prezentat proiect
Componentele au fost luate de la magazinul Conex .
Idea de proiect a venit observand numeroase demonstratii ale unor proiecte pe o matrice de leduri, precum acesta .
Mai jos se afla atasate datasheet-urile de la matricea de leduri, integrat si AT-Mega-16, precum si programul in C, makefile-ul, programul hex si elf.