A kígyó játék a mobiltelefonok kezdete óta nagyon népszerű. Kezdetben fekete-fehér mobiltelefonokkal érkeztek, és hamarosan nagyon híressé vált. Aztán a Mobiltelefonok fejlődésével ez a játék is sokat változott, és most ennek a játéknak számos grafikus és színes változata érhető el.
A kígyó játék szintén nagyon népszerű DIY projekt lett az elektronikai hobbisták és hallgatók számára. Tehát ma be fogjuk mutatni az Arduino Snake Game-t, annak minden alapvető funkciójával, ugyanakkor egyszerűnek tartjuk.
Használt alkatrészek:
- Arduino UNO
- 8x8 LED Dot Matrix kijelző
- Váltási regisztráció 74HC595
- 16x2 LCD
- POT 1K
- Nyomógombok
- Csatlakozó vezetékek
- Kenyérlap
- Tápegység
Munka magyarázat:
Ez kevéssé bonyolult játék. De ebben az oktatóanyagban egyszerűsítettük az Ön számára. A projekt elkészítéséhez egy 8x8-as piros színű Dot mátrix kijelzőt használtunk a kígyó és annak ételpöttyének megjelenítésére, egy LCD-t a pontok vagy pontszám megjelenítésére, 5 nyomógombot az utasítások megadásához és a játék elindításához, végül egy Arduino UNO-t a vezérléshez. az egész folyamat. A 8x8 LED Dot Matrix kijelző pin diagramja az eredeti képével az alábbiakban látható:
Az áramkör bekapcsolásakor először egy üdvözlő üzenetet, majd egy “Press Start To Play” tippet mutatunk az LCD-n. Ezt követően az LCD-nél a pontszám nulla, a pontmátrix-kijelzőn pedig két pont látható kígyóként és egyetlen pont élelmiszerként.
Most a felhasználónak meg kell nyomnia a középső gombot a játék elindításához, és a kígyó alapértelmezés szerint elindul felfelé. Ezután a felhasználónak meg kell adnia a kígyó irányát a középső gomb körüli „Iránybillentyűk” megnyomásával. Itt öt billentyűt (nyomógombot) használtunk, nevezetesen a bal, a jobb, a fel, a le és a kezdõ billentyûket. Amikor a kígyó eléri az ételpontot, vagy megeszi az ételt, a pontszám minden alkalommal 5 ponttal növekszik, és a kígyó hossza minden egyes ponttal (LED) nő, a kígyó sebessége is gyorsabb lesz, mint korábban. És amikor a kígyó bármely falhoz csapódott vagy a LED-mátrix végéhez ért, akkor befejezte a játékot („Game Over”). Ezután a felhasználónak újra kell indítania a játékot a start gomb megnyomásával.
Áramkör magyarázat:
Ennek a Snake Game Projectnek az áramköre kevéssé összetett. Itt összekapcsoltuk a mátrix megjelenítést a Shift Register 74HC595 használatával. Itt két műszakregisztert használnak, egyet az oszlopok vezetésére, másodikat pedig a sorok vezetésére. A regiszterek, oszlopeltolás-regiszter és sor-eltolás-regiszter (SH, ST) vezérlőcsapjai,közvetlenül kapcsolódnak az Arduino 14-es, illetve 16-os pinjéhez. Az oszlopeltolás-nyilvántartás és a soreltolás-nyilvántartás DS-tűje pedig közvetlenül kapcsolódik az Arduino 15. és 17. tűjéhez. A játék indításához a Start gombot a 3., a balra a 4., a jobbra a 6., a jobbra a 6., a 2. és a lefelé mutatóra. Az LCD-t hardverünkben is csatlakoztatjuk. pontszámot mutat. Az RS és az EN tűk közvetlenül a 13. és 12. érintkezőhöz vannak csatlakoztatva. A d4-d7 adatcsapok pedig az Arduino 11., 10., 9., 8. érintkezőjéhez csatlakoznak. A csatlakozás többi részét a kapcsolási rajz mutatja.
Programozási magyarázat:
Ennek az Arduino kígyó játékkódnak a megírásához mindenekelőtt fejlécfájlokat adunk meg, és meghatározzuk a csapokat az LCD számára. Ezután definiáljon néhány csapot az iránygombokhoz és az adatcsapot a váltási regiszterekhez.
#include
Ezután inicializálunk minden olyan dolgot, amelyet a programban használtunk. A beállítási funkcióban inicializáljuk az LCD-t, irányt adunk a kimeneti csapok bemenetének, felhúzzuk a biteket és üdvözlő üzenetet mutatunk az LCD-n.
void setup () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (start, INPUT);……………
És akkor elkezdjük a játékot a loop funkcióban.
void show_snake (int temp) {for (int n = 0; n
Itt az alábbi funkciót használtuk a bemeneti irány leolvasására a nyomógombról.
void read_button () {if (! digitalRead (balra)) {move_r = 0; move_c! = - 1? mozgás_c = -1: mozgás_c = 1; while (! digitalRead (balra));……………
Ellenőrizze az alábbiakban a kígyójáték teljes C kódját.