Proiectul ales este cunoscutul joc Snake. Un jucator controleaza un sarpe intr-un labirint incercand sa adune mancare, dar avand grija sa nu loveasca peretii labirintului sau alte obstacole existente. De fiecare data cand mananca, sarpele creste in lungime, scopul jocului fiind de a ajunge la o anumita dimensiune pentru a trece la urmatorul nivel de joc. Am ales realizarea acestui joc deoarece este foarte popular si am incercat sa obtin o varianta proprie a jocului Snake.
Pentru implementare am ales afisarea pe un display Nokia 3310, PCD8544, comenzile pentru deplasarea sarpelui in terenul de joc realizandu-se prin intermediul a 4 butoane corespunzatoare celor 4 directii.
Schema microcontrolerului ATMega16:
Am folosit pinii PC0, PC1, PC2, PC3 pentru a conecta butoanele.
Pinul 1 (Vcc) si pinul 8 (Reset) de la LCD au fost conectati la Vcc-ul si resetul de pe placuta.
Pinii 2, 3, 4, 5 de la LCD au fost conectati la PB0, PB1, PB2, respectiv PB3.
Componente | Cantitate |
---|---|
Display Nokia 3310 | 1 |
Push-button | 5 |
Cablu banda 10 | 1m |
Rezistente de 3K3 | 5 |
Rezistente de 1K8 | 5 |
Dioda 1N4004 | 2 |
Condesator 10uF | 1 |
Pini | 1 bareta |
De asemenea placuta continand ATMega16, realizata la etapa 1.
LCD-ul trebuie alimentat cu tensiuni cuprinse intre 2,7V si 3,3V, de accea am folosit un divizor de tensiune pentru a limita tensiunea de 5V de la microcontrolerul ATMega16 la 3,2V. Pentru a limita tensiunea la pinul de Vcc al display-ului am folosit 2 diode 1N4004.
Pentru simularea proiectului am utilizat Proteus, importand libraria pentru Nokia 3310 LCD.
Am preluat unele functii pentru interactiunea cu LCD-ul de pe site-ul http://www.quantumtorque.com/content/view/32/37/
Am realizat implementarea hardware, insa nu am reusit terminarea proiectului.
Proiectul a fost unul interesant, realizarea hardware a fost un lucru nou pentru mine.
Am invatat multe lucruri importante pentru un viitor inginer.
Voi inverca finalizarea proiectului pentru a obtine jocul pe care mi-am propus sa-l realizez.
Arhiva cu sursele este: joc.zip