Innehållsförteckning:
Video: Arduino Battleship Game: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Jag minns att jag spelade en papper och pennaversion av Battleship Game som barn. Faktum är att det har funnits sedan ungefär första världskriget. Jag hade också en "elektronisk" variant i början av 1960 -talet som kallades "Sonar Sub Hunt" som hade ljus och ljud och dolda gruvor. Enligt dagens videospelstandarder är Battleship ganska tråkigt men jag trodde att jag skulle göra en i alla fall bara för att se vad barnbarnen tyckte om det. När allt kommer omkring kan retro ibland vara coolt.
Det finns bitar av det här projektet som skulle vara användbart någon annanstans även om du inte är intresserad av att göra Battleship -spelet. Den har ett enkelt 4-bitars 1602 LCD-gränssnitt som innehåller en rutin för att ställa in en specifik teckenplats. Det finns också ett gränssnitt för avkodning av en 4x4 -switchmatris. Dessa två gränssnitt är tillgängliga som separata inkluderar filer så att de är lätta att transportera. Spelet har också olika ljudeffektrutiner och en enkel en-transistor ljudförstärkarkrets.
Steg 1: Hårdvara
Schemat som presenteras här är för en enda spelare så två enheter skulle behöva göras. Enheterna kommunicerar med ett 3-trådars gränssnitt som inkluderar UART TX- och RX-linjerna och en jordledning. Jag valde att använda ett standard 1/8 tums stereohörlursuttag och en standardkabel med hankontakter i båda ändarna. RX från en låda går till TX i den andra lådan och vice versa. Du kan göra det genom att byta trådarna som är lödda till hörlursuttaget inuti lådan eller byta dem på kretskortet när du bygger det.
Det klassiska spelet var utformat som en matris men jag bestämde mig för att göra en enkel implementering med en 1602 LCD för displayen. Den första raden visar spelarens skeppslägen och motståndarens skott. Den andra raden visar spelarens skott och alla träffar på motståndarens fartyg. Det ger 16 möjliga platser för fartyg. Antalet fartyg anges i programvaran och jag valde godtyckligt 5.
De 16 skeppslägena passar bra in på omkopplarkraven eftersom det möjliggör en 4x4 -matris. Det finns 4x4 matrisomkopplare, men jag valde att använda enskilda switchar i en enda rad för att matcha den linjära displayen. Jag trådade dock omkopplarna som en 4x4 -matris så att bara åtta Arduino -stift behövs. Se omkopplarens kopplingsschema och schemat för korrekta anslutningar.
LCD-skärmen är ansluten för ett 4-bitars gränssnitt. Jag lade också till en extern lysdiod på stift D13 för att indikera vilken spelare som skulle ta ett skott. Inledningsvis bestämmer spelarna vem som tar det första skottet och sedan styr mjukvaran automatiskt fram och tillbaka i spelet.
Jag ville lägga till enkla ljudeffekter för skottet, explosionerna, spelet klart och vinnaren/förloraren. Jag försökte använda en enkel piezo -summer men slutade med en liten högtalare istället. Strömmen som krävs av högtalaren överstiger vad Arduino kan hantera så en enkel transistorförstärkare tillkom. Ljudet är fortfarande inte bra men det är bättre än med summern. Min högtalare är 4 ohm men om du har en 8-ohm, ändra sedan motståndet i schemat från 39 ohm till 33 ohm. Om du använder en piezosummer bör du kunna köra den direkt från Arduino -stiftet med den andra sidan av summern ansluten till marken.
En extern återställningsomkopplare ingår också och är ansluten direkt mellan marken och "reset" -stiftet på Arduino. Det ger medel för att starta om spelet.
Steg 2: Programvara
Programvaran har inkluderingsfilen för mitt LCD -gränssnitt och jag skapade också en inkluderingsfil för 4x4 switch -matrisskanning. Initialiseringen uppmanar spelaren att välja platser för sina fartyg och går sedan till ett "Ready" -läge. När båda spelarna är klara startar en av dem spelet genom att trycka på en strömbrytare.
Skottplatsen överförs via UART till den andra spelaren och lämpligt resultat överförs tillbaka till spelaren som avlossade skottet. Som nämnts tidigare styr programvaran när det första skottet är taget, vem som tar nästa skott. Innan ett skott överförs kontrolleras det mot platserna för de föregående skotten. Om den platsen redan har använts skickas inte bilden. Lysdioden”My_Shot” avgör vems tur det är. Det genereras också ett skottljud för ett giltigt urval och ett explosionsljud om ett fartyg träffas. Ljudeffekterna härrör från exempel som finns online med ändringar som passar spelet.
När en motståndares fartyg alla har träffats visas ett meddelande på varje LCD - ett som vinnare och ett som förlorare. Meddelandet anger också att spelet kan startas om genom att trycka på återställningsknappen. Det finns också separata ljudeffekter för vinnaren och förloraren.
Steg 3: Skärmbilder
Här är några skärmdumpar från spelet. Det är det för det här inlägget. Kolla in mina andra instruktioner och även min webbplats på: www.boomerrules.wordpress.com
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Arduino -baserad DIY -spelkontroller - Arduino PS2 Game Controller - Spela Tekken med DIY Arduino Gamepad: 7 steg
Arduino -baserad DIY -spelkontroller | Arduino PS2 Game Controller | Spela Tekken med DIY Arduino Gamepad: Hej killar, att spela spel är alltid roligt, men att spela med din egen DIY -spelkontroll är roligare.Så vi kommer att göra en spelkontroller med arduino pro micro i denna instruktioner
Arduino Game Controller + Unity Game: 5 steg
Arduino Game Controller + Unity Game: I detta instruerbara ska jag visa dig hur du bygger/programmerar en arduino game controller som kan ansluta till enhet
Arduino Pocket Game Console + A -Maze - Maze Game: 6 steg (med bilder)
Arduino Pocket Game Console + A -Maze - Maze Game: Välkommen till min första instruerbara! Projektet som jag vill dela med dig idag är Arduino labyrintspel, som blev en fickkonsol lika bra som Arduboy och liknande Arduino -baserade konsoler. Det kan blinka med mina (eller dina) framtida spel tack vare expo
Space Battleship Yamato 2199 With Trinket Microcontrollers: 8 Steg (med bilder)
Space Battleship Yamato 2199 Med Trinket Microcontrollers: På grund av nyinspelningen av animationen och filmen av Space Battleship Yamato, förutom den attraktiva designen av Bandai -modellen. Det gör mig intresserad av att bygga denna rymdskeppsmodell igen. Bandai nämner inte dess skala, kanske ~ 1: 2500 enligt uppskattning