Sadržaj:
Video: Arduino Battleship Igra: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Sjećam se da sam kao klinac igrao verziju Battleship Game -a na papiru i olovci. U stvari, to postoji otprilike od Prvog svjetskog rata. I ja sam početkom 1960 -ih imao "elektronsku" varijantu pod nazivom "Sonar Sub Hunt" koja je imala svjetla i zvukove i skrivene mine. Prema današnjim standardima video igara Battleship je prilično dosadan, ali mislio sam da ću ga ipak napraviti samo da vidim što unuci misle o tome. Uostalom, ponekad retro može biti cool.
Postoje dijelovi ovog projekta koji bi bili korisni drugdje čak i ako niste zainteresirani za izradu igre Battleship. Ima jednostavno 4-bitno 1602 LCD sučelje koje uključuje rutinu za postavljanje određene lokacije znakova. Tu je i sučelje za dekodiranje matrice prekidača 4x4. Ova dva sučelja dostupna su kao zasebne datoteke za uključivanje pa se lako mogu transportirati. Igra također ima različite rutine zvučnih efekata i jednostavno kolo s jednim tranzistorskim audio pojačalom.
Korak 1: Hardver
Shema koja je ovdje prikazana odnosi se na jednog igrača pa bi trebalo napraviti dvije jedinice. Uređaji komuniciraju pomoću trožilnog sučelja koje uključuje UART TX i RX linije i žicu za uzemljenje. Odlučio sam koristiti standardni priključak za stereo slušalice od 1/8 inča i standardni kabel s muškim utikačima na oba kraja. RX iz jedne kutije ide u TX druge kutije i obrnuto. To možete učiniti tako da zamijenite žice zalemljene na priključak za slušalice unutar kutije ili ih zamijenite na ploči dok proizvodite.
Klasična igra je postavljena kao matrica, ali sam odlučio napraviti jednostavnu implementaciju koristeći 1602 LCD za ekran. Prvi redak prikazuje igračeve brodove brodove i protivničke udarce. Druga linija prikazuje igračeve udarce i sve udarce na protivničkim brodovima. To pruža 16 mogućih lokacija za brodove. Broj brodova je postavljen u softveru i proizvoljno sam odabrao 5.
16 lokacija brodova lijepo se uklapa u zahtjeve prekidača jer omogućava matricu 4x4. Dostupne su matrice za prebacivanje matrice 4x4, ali sam odlučio koristiti pojedinačne prekidače u jednoj liniji kako bi odgovarao linearnom prikazu. Ipak sam spojio prekidače kao matricu 4x4 tako da je potrebno samo osam Arduino pinova. Za pravilne veze pogledajte dijagram ožičenja prekidača i shemu.
LCD ekran je ožičen za 4-bitno sučelje. Dodao sam i vanjsku LED diodu na iglici D13 koja označava koji igrač treba snimati. U početku igrači odlučuju tko će prvi snimiti, a zatim softver automatski kontrolira igru naprijed -nazad u igru.
Htio sam dodati jednostavne zvučne efekte za snimak, eksplozije, igru spremnu i pobjednika/gubitnika. Pokušao sam koristiti jednostavan piezo zujalicu, ali sam umjesto toga dobio mali zvučnik. Struja koju zahtijeva zvučnik premašuje onu koju Arduino može podnijeti pa je dodano jednostavno tranzistorsko pojačalo. Zvuk i dalje nije sjajan, ali je bolji nego sa zujalicom. Moj zvučnik je 4 ohma, ali ako imate 8-omski onda promijenite otpornik u shemi sa 39 ohma na 33 ohma. Ako koristite piezo zvučni signal, trebali biste ga moći pokrenuti izravno s Arduino pina s drugom stranom zujalice spojenom na masu.
Uključen je i vanjski prekidač za resetiranje koji je ožičen izravno između mase i pina za "reset" na Arduinu. To pruža sredstva za ponovno pokretanje igre.
Korak 2: Softver
Softver ima datoteku za uključivanje za moje LCD sučelje, a također sam stvorio datoteku za uključivanje za skeniranje matrice preklopnika 4x4. Inicijalizacija od igrača traži da odabere lokacije za svoje brodove, a zatim prelazi u stanje "Spremno". Kad su oba igrača spremna, jedan od njih započinje igru pritiskom na prekidač.
Lokacija hica se prenosi putem UART -a na drugog igrača, a odgovarajući rezultat se prenosi na igrača koji je opalio hitac. Kao što je ranije spomenuto, nakon što se napravi prvi snimak, softver kontrolira tko će snimiti sljedeći snimak. Prije nego što se snimak prenese, provjerava se u odnosu na lokacije prethodnih snimaka. Ako je ta lokacija već korištena, snimak se neće prenijeti. LED dioda “My_Shot” određuje čiji je red. Tu je i zvuk pucnja za valjani odabir i zvuk eksplozije ako je brod pogođen. Zvučni efekti izvedeni su iz primjera pronađenih na internetu s izmjenama koje odgovaraju igri.
Nakon što su svi protivnički brodovi pogođeni, na svakom LCD -u se prikazuje poruka - jedan kao pobjednik, a jedan kao gubitnik. Poruka također navodi da se igra može ponovo pokrenuti pritiskom na tipku za poništavanje. Postoje i zasebni zvučni efekti za pobjednika i gubitnika.
Korak 3: Snimci ekrana
Evo nekoliko snimaka ekrana iz igre. To je to za ovaj post. Pogledajte moje ostale Instructables i moju web stranicu na: www.boomerrules.wordpress.com
Preporučuje se:
DIY 37 Leds Arduino Roulette igra: 3 koraka (sa slikama)
DIY 37 Leds Arduino Roulette igra: Roulette je casino igra nazvana po francuskoj riječi koja znači mali kotačić
ARDUINO + SCRATCH Igra pucanja: 6 koraka
ARDUINO + SCRATCH Igra pucanja: Sačuvajte tortu! U opasnosti je. Pristupaju mu četiri muhe. Imate samo 30 sekundi da odstrelite muhe i spremite tortu
Arduino Sorta Sudoku igra: 3 koraka (sa slikama)
Arduino Sorta Sudoku igra: Mnogi ljudi vole igrati Sudoku, a unuci vole igre pogađanja pa sam odlučio napraviti prijenosnu igru „Sorta Sudoku“. U mojoj verziji igra je 4x4, ali je naveden samo jedan broj. Ideja je pogoditi ostatak brojeva u
Aruduino LED igra Brza igra za dva igrača: 8 koraka
Aruduino LED igra Brza igra za dva igrača: Ovaj projekat je inspirisan @HassonAlkeim. Ako ste voljni detaljno pogledati, evo linka koji možete provjeriti https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Ova igra je poboljšana verzija Alkeima. To je
Interaktivna igra Tic-Tac Toe igra kojom se upravlja pomoću Arduina: 6 koraka
Interaktivna igra Tic-Tac Toe nogom kontrolirana s Arduinom: Cilj projekta Physical Tic-Tac-Toe je premjestiti dobro poznatu igru u fizičko područje. U početku igru igraju dva igrača na komadu papira - stavljajući naizmjence simbole 'X' i 'O'. Naša ideja je bila ispitati ponašanje igrača