Adela-Ioana HINŢIU (6583) - Snake LCD

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

O sa implementez jocul Snake pe un ecran LCD si cu ajutorul celor 4 butoane de schimbat directia: stanga, dreapta, sus, jos, jucatorul poate controla “sarpele” pentru a colectiona puncte, a feri obstacolele, a colectiona surprizele (fie de marire a vitezei, fie de incetinire). De asemenea, cu fiecare punct castigat, dimensiunea sarpelui va creste si dificultatea jocului va creste, iar cel mai mare score atins va fi inregistrat in sectiunea Best Highscore. Scopul jocului e de a strange cat mai multe puncte pentru a depasi Best Highscore-ul curent. Am ales acest joc single player ca tema de proiect pentru ca este un joc fun pe care cu totii l-am jucat.

Descriere generală

Schema bloc este urmatoarea:

Hardware Design

Lista piese optionale:

- LCD grafic SPI;

- 4 Butoane;

- Breadbord;

- conectori mama-tata;

- conectori tata-tata.

Schema electrica este urmatoarea:

Schema electrica nu mai estre valabil, intrucat mi s-a ars display-ul LCD-ului folosit initial. Pentru LCD-ul actual am legat urmatoarele conexiuni: - BTN1 → PB0

- BTN2 → PB1

- SPI_RST → PB3

- SPI_DC → PB2

- SPI_MOSI → PB5

- SPI_SCK → PB7

- SPI_CS1 → PB4

Software Design

Am implementat codul proiectului folosind o biblioteca arduino, putin modificata. Lungimea initiala a sarpelui va fi de 3 patratele (12 x 16 rezolutia patratelului folosit ca unitate de masura in lungimea sarpelui). Am folosit 4 butoane carora le-am testat functionalitatea prin schimbarea culorii unui singur patratel. Am implementat marginea arenei de deplasare a sarpelui si am folosit o structura pentru a retine coordonatele atat alea capului cat si ale cozii sarpelui pe axele Ox si Oy. Nu am avut timp sa implementez directionarea sarpelui, proiectul fiind in stadiu incipient din punct de vedere al programarii software. Codul este scris in mediul de dezvoltare AVR Studio.

Rezultate Obţinute

Am reusit sa redau arena de deplasare a sarpelui, am testat functionalitatea butoanelor si am realizat starea initiala a sarpelui.

Concluzii

Mi-a placut mult ideea proiectului ales de mine si cu siguranta am avut multe de invatat atat din punct de vedere al realizarii schemelor electrice, al implementarii hardware & software. Cu siguranta o sa continui implementarea software a jocului Snake pentru ca mi-a starnit interesul, proiectoarea microprocesoarelor fiind una dintre cele mai interesante materii din acest semestru.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2016:avoinescu:dumitru_alin.

snake.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2016/ddragomir/030011.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