Hra Snake je od začiatku mobilných telefónov veľmi populárna. Spočiatku to bolo v čiernej a bielej mobilné telefóny, a čoskoro sa stal veľmi slávnym. Potom, s pokrokom v oblasti mobilných telefónov, sa táto hra tiež veľa zmenila a teraz je k dispozícii veľa grafických a farebných verzií tejto hry.
Hra Had sa tiež stala veľmi populárnym DIY projektom pre elektroniku Fandia a Študenti. Dnes teda ukážeme hru Arduino Snake Game so všetkými jej základnými funkciami, ktorá bude zároveň jednoduchá.
Použité komponenty:
- Arduino UNO
- 8x8 LED Dot Matrix displej
- Posuvný register 74HC595
- 16x2 LCD
- HNEDÁ 1K
- Tlačidlá
- Pripojovacie vodiče
- Chlebová doska
- Zdroj
Pracovné vysvetlenie:
Toto je málo komplikovaná hra. Ale v tomto tutoriáli sme vám to uľahčili. Na realizáciu tohto projektu sme použili 8x8 červený farebný maticový displej pre zobrazenie hada a jeho potravinovej bodky, LCD pre zobrazenie bodov alebo skóre, 5 tlačidiel na udanie smeru a spustenia hry a nakoniec Arduino UNO na ovládanie celý proces. Kolíková schéma 8x8 LED Dot Matrix displeja s pôvodným obrázkom je uvedená nižšie:
Keď zapíname obvod, najskôr zobrazíme uvítaciu správu a potom na displeji LCD pomôcku „Press Start To Play“. Potom LCD zobrazuje skóre ako nulu a bodový maticový displej zobrazuje dve bodky ako hada a jednu bodku ako jedlo.
Teraz je potrebné stlačiť stredné tlačidlo a hru spustiť a predvolene sa had začať pohybovať smerom hore. Potom musí používateľ dať hadovi smer stlačením „smerových klávesov“ okolo stredného tlačidla. Tu sme použili päť klávesov (tlačidiel), a to ľavú klávesu, pravú klávesu, klávesu hore, klávesu dole a klávesu Štart. Kedykoľvek had dosiahne jedlo bodku alebo zje jedlo, skóre sa zakaždým zvýši o 5 bodov a dĺžka hada sa zakaždým zvýši o jednu bodku (LED), rýchlosť hada bude tiež rýchlejšia ako predtým. A kedykoľvek by had zasiahol ktorúkoľvek stenu alebo sa dostal na koniec matice LED, hra by sa skončila („Game Over“). Potom musí užívateľ znovu spustiť hru stlačením klávesu Štart.
Vysvetlenie obvodu:
Okruh tohto projektu Snake Game Project je málo zložitý. Tu sme pripojili bodový maticový displej pomocou posuvného registra 74HC595. Tu sa používajú dva posuvné registre, jeden na poháňanie stĺpcov a druhý na poháňanie riadkov. Kontrolné kolíky oboch registrov, posuvný register stĺpcov a posuvný register riadkov (SH, ST),sú priamo spojené s pinom Arduino číslo 14, respektíve 16. A kolík DS posuvného registra stĺpca a posuvný register riadkov sú priamo spojené s kolíkmi číslo 15 a 17 Arduina. Tlačidlo Štart na spustenie hry je pripojené na pin číslo 3, ľavé smerové tlačidlo na pin 4, pravé smerové tlačidlo na pin 6, smerové tlačidlo nahor na pin 2 a smerové tlačidlo dole na pin 5. LCD je tiež pripojený v našom hardvéri k ukázať skóre. Kolíky RS a EN sú priamo spojené na pinoch 13 a 12. Pin RW je priamo uzemnený. A dátové piny d4-d7 sú pripojené na pinoch 11, 10, 9, 8 Arduina. Zvyšok pripojenia je znázornený na schéme zapojenia.
Vysvetlenie programovania:
Pri písaní tohto kódu hry hada Arduino najskôr zahrnieme hlavičkové súbory a definujeme piny pre LCD. A potom definujte niekoľko pinov pre smerové tlačidlá a dátový pin pre posuvné registre.
#include
Potom inicializujeme všetky veci, ktoré sme v programe použili. Vo funkcii nastavenia inicializujeme LCD, udáme smer vstupných výstupných pinov, vytiahneme bity a na LCD zobrazíme uvítaciu správu.
void setup () {lcd.begin (16,2); pinMode (ds_col, VÝSTUP); pinMode (sh_col, OUTPUT); pinMode (st_col, VÝSTUP); pinMode (ds_row, OUTPUT); pinMode (štart, VSTUP);……………
A potom začneme hru v slučke .
void show_snake (int temp) {for (int n = 0; n
Tu sme použili nasledujúcu funkciu na načítanie smeru vstupu z tlačidla.
void read_button () {if (! digitalRead (left)) {move_r = 0; move_c! = - 1? move_c = -1: move_c = 1; while (! digitalRead (vľavo));……………
Celý kód C Snake Game nájdete nižšie.