Snake Game har varit mycket populärt sedan början av mobiltelefonerna. Ursprungligen kom den i svartvita mobiltelefoner och blev snart mycket känd. Sedan med utvecklingen av mobiltelefonerna har detta spel också förändrats mycket, och nu finns många grafiska och färgglada versioner av detta spel tillgängliga.
Ormspelet har också blivit ett mycket populärt DIY-projekt för elektronikhobbyister och studenter. Så idag ska vi demonstrera, Arduino Snake Game, med alla dess grundläggande funktioner, samtidigt som det är enkelt samtidigt.
Komponenter som används:
- Arduino UNO
- 8x8 LED Dot Matrix Display
- Skiftregister 74HC595
- 16x2 LCD
- POT 1K
- Trycka på knappar
- Anslutande ledningar
- Brödbräda
- Strömförsörjning
Arbetsförklaring:
Detta är lite komplicerat spel att bygga. Men i denna handledning har vi gjort det enkelt för dig. För att göra detta projekt har vi använt en 8x8 röd färgmatrisdisplay för att visa ormen och dess matpunkt, en LCD för att visa poäng eller poäng, 5 tryckknappar för att ge vägbeskrivning och starta spelet och slutligen en Arduino UNO för kontroll hela processen. Stiftdiagram för 8x8 LED Dot Matrix Display med originalbild har ges nedan:
När vi slår på kretsen visar vi först ett välkomstmeddelande och sedan en “Tryck på Start för att spela” -tips på LCD-skärmen. Efter detta visar LCD poängen som noll och punktmatrisskärmen visar två punkter som orm och en enda punkt som mat.
Nu måste användaren trycka på mittknappen för att starta spelet och ormen börjar röra sig uppåt som standard. Då måste användaren ge riktning åt ormen genom att trycka på "Riktningstangenterna" runt mittknappen. Här har vi använt fem tangenter (tryckknappar), nämligen Vänster tangent, Höger knapp, Upp-knapp, Ned-tangent och Start-tangent. När ormen når fram till matpunkten eller äter maten ökar poängen med 5 poäng varje gång och ormlängden ökas med en punkt (LED) varje gång, också blir ormhastigheten snabbare än tidigare. Och när ormen slår mot någon vägg eller når i slutet av LED-matrisen, skulle det avsluta spelet ("Game Over"). Då måste användaren starta spelet igen genom att trycka på startknappen.
Kretsförklaring:
Kretsloppet för detta Snake Game Project är lite komplicerat. Här har vi anslutit punktmatrisvisning med hjälp av Shift Register 74HC595. Här används två skiftregister, ett för att köra kolumnerna och ett för att köra raderna. Kontrollstift för både register, kolumnskiftregister och radskiftregister (SH, ST),är direkt anslutna till Arduinos stift nummer 14 respektive 16. Och DS-stift av kolumnskiftregister och radskiftregister är direkt anslutna till stift nummer 15 och 17 i Arduino. Startknappen för att starta spelet är anslutet vid stift nummer 3, vänster riktningsknapp vid stift 4, höger riktningsknapp vid stift 6, uppriktningsknapp vid stift 2 och nedåtriktningsknapp vid stift 5. En LCD är också ansluten i vår hårdvara till visa poäng. RS- och EN-stift är direkt anslutna vid stift 13 och 12. RW-stift är direkt jordat. Och datapinnar d4-d7 är anslutna vid stift 11, 10, 9, 8 i Arduino. Resten av anslutningen visas i kretsschemat.
Programmeringsförklaring:
För att skriva denna Arduino ormspelkod, först och främst inkluderar vi rubrikfiler och definierar stift för LCD. Och definiera sedan några stift för riktningsknappar och datastift för skiftregister.
#omfatta
Sedan initialiserar vi alla saker som vi har använt i programmet. I installationsfunktionen initialiserar vi LCD, ger riktning till inmatningsutgångsstift, drar upp bitarna och visar välkomstmeddelande på LCD.
ogiltig installation () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (start, INPUT);……………
Och sedan börjar vi spelet i loop- funktion.
ogiltig show_snake (int temp) {för (int n = 0; n
Här har vi använt nedanstående funktion för att läsa inriktningen från tryckknappen.
ogiltig read_button () {if (! digitalRead (vänster)) {move_r = 0; move_c! = - 1? move_c = -1: move_c = 1; medan (! digitalRead (vänster));……………
Kontrollera hela C-koden för ormspel nedan.