Snake Game je bila zelo priljubljena že od začetka uporabe mobilnih telefonov. Sprva je prišel v črno-belih mobilnih telefonih in kmalu postal zelo znan. Nato se je z napredovanjem mobilnih telefonov tudi ta igra zelo spremenila in zdaj je na voljo veliko grafičnih in barvitih različic te igre.
Igra Snake je postala tudi zelo priljubljen projekt DIY za elektronike hobi in študente. Danes bomo torej predstavili Arduino Snake Game z vsemi njenimi osnovnimi funkcionalnostmi, hkrati pa bo hkrati enostaven.
Uporabljene komponente:
- Arduino UNO
- 8x8 LED matrični zaslon
- Prestavni register 74HC595
- 16x2 LCD
- LONČEK 1K
- Gumbi
- Priključne žice
- Odbor za kruh
- Napajanje
Delovna razlaga:
To je malo zapletena igra za izdelavo. Toda v tej vadnici smo vam to poenostavili. Za izdelavo tega projekta smo uporabili 8x8 rdeč barvni matrični zaslon za prikaz kače in njene pike, LCD za prikaz točk ali rezultatov, 5 tipk za napotke in začetek igre ter na koncu še Arduino UNO za nadzor celoten postopek. Spodnji diagram 8x8 LED matričnega zaslona s prvotno sliko je podan spodaj:
Ko vklopimo vezje, najprej prikažemo pozdravno sporočilo in nato na LCD-prikazovalniku namig »Press Start To Play«. Po tem LCD prikaže rezultat kot nič, matrični zaslon pa dve piki kot kača in eno piko kot hrano.
Zdaj mora uporabnik pritisniti srednji gumb, da začne igro, kača pa se privzeto začne premikati navzgor. Nato mora uporabnik usmeriti kačo s pritiskom na smerne tipke okoli srednjega gumba. Tu smo uporabili pet tipk (tipk), in sicer levo tipko, desno tipko, tipko gor, tipko dol in tipko Start. Kadar kača seže do pike ali poje hrano, se rezultat vsakič poveča za 5 točk in dolžina kače vsakič poveča za eno piko (LED), tudi hitrost kač postane hitrejša kot prej. In kadar koli bi kača udarila v katero koli steno ali dosegla konec LED-matrice, bi končala igro (“Game Over”). Nato mora uporabnik znova zagnati igro s pritiskom na tipko start.
Pojasnilo vezja:
Vezje tega projekta Snake Game je malo zapleteno. Tukaj smo povezali matrični prikaz z uporabo Shift Register 74HC595. Tu se uporabljata dva premična registra, eden za pogon stolpcev in drugi za vožnjo vrstic. Krmilni zatiči obeh registrov, registra premika stolpca in registra premika vrstice (SH, ST),so neposredno povezani z Arduinovimi številkami 14 in 16. DS-pin registra premikov stolpcev in registra premika vrstice sta neposredno povezana s številkama 15 in 17 Arduino. Gumb Start za zagon igre je povezan s številko 3, levi gumb za smer na pin 4, desni gumb za smer na pin 6, gumb za smer navzgor na pin 2 in gumb za smer navzdol na pin 5. V naši strojni opremi je priključen tudi LCD. pokaži rezultat. RS in EN zatiči so neposredno povezani na zatičih 13 in 12. RW zatič je neposredno ozemljen. Podatkovni zatiči d4-d7 so povezani na zatičih 11, 10, 9, 8 Arduina. Ostali priključki so prikazani na vezju.
Pojasnilo programiranja:
Za pisanje te kode igre Arduino snake najprej vključimo datoteke z glavo in določimo nožice za LCD. Nato določite nekaj nožic za smerne gumbe in podatkovne nožice za registre premikov.
#include
Nato inicializiramo vse stvari, ki smo jih uporabili v programu. V nastavitveni funkciji inicializiramo LCD, usmerimo vhodne izhodne nožice, izvlečemo bit in prikažemo pozdravno sporočilo na LCD-ju.
void setup () {lcd.begin (16,2); pinMode (ds_col, IZHOD); pinMode (sh_col, IZHOD); pinMode (st_col, IZHOD); pinMode (ds_row, IZHOD); pinMode (start, INPUT);……………
Nato začnemo z igro v zanki .
void show_snake (int temp) {for (int n = 0; n
Tu smo uporabili spodnjo funkcijo za branje smeri vnosa s tipke.
void read_button () {if (! digitalRead (levo)) {move_r = 0; premik_c! = - 1? premik_c = -1: premik_c = 1; while (! digitalRead (levo));……………
Spodaj si oglejte celotno C Code of Snake Game.