Sadržaj:
Video: Igra Arduino bojnog broda: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Sjećam se da sam kao klinac igrao verziju Battleship Game -a na papiru i olovci. Zapravo, to postoji otprilike od Prvog svjetskog rata. I ja sam početkom 1960 -ih imao "elektroničku" 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 sklopke 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. Jedinice 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 utičnicu za slušalice unutar kutije ili ih zamijenite na pločici dok je sastavljate.
Klasična igra bila je postavljena kao matrica, ali sam odlučio napraviti jednostavnu implementaciju koristeći 1602 LCD za zaslon. Prvi redak prikazuje igračeve brodove lokacije i udarce protivnika. Drugi redak prikazuje igračeve udarce i sve pogotke na protivničkim brodovima. To pruža 16 mogućih lokacija za brodove. Broj brodova je postavljen u softveru i ja sam proizvoljno odabrao 5.
16 lokacija brodova lijepo se uklapa u zahtjeve za prebacivanjem jer dopušta matricu 4x4. Dostupni su matrični prekidači s matricom 4x4, ali odlučio sam koristiti pojedinačne prekidače u jednom retku kako bi odgovarao linearnom prikazu. Ja sam ipak spojio prekidače kao matricu 4x4 tako da je potrebno samo osam Arduino pinova. Za ispravne spojeve pogledajte dijagram ožičenja sklopke i shemu.
LCD zaslon je ožičen za 4-bitno sučelje. Dodao sam i vanjsku LED diodu na pin D13 kako bi naznačio koji igrač treba snimati. U početku igrači odlučuju tko će prvi snimiti, a zatim softver automatski kontrolira naprijed -nazad igre.
Htio sam dodati jednostavne zvučne efekte za snimak, eksplozije, igru spremnu i pobjednika/gubitnika. Pokušao sam koristiti jednostavan piezo zujalicu, ali umjesto toga dobio sam mali zvučnik. Struja koju zahtijeva zvučnik premašuje onu koju Arduino može podnijeti pa je dodano jednostavno tranzistorsko pojačalo. Zvuk još uvijek nije sjajan, ali je bolji nego uz zujalicu. Moj zvučnik je 4 ohma, ali ako imate 8-ohmski tada promijenite otpornik u shemi sa 39 ohma na 33 ohma. Ako koristite piezo zvučni signal, trebali biste ga moći voziti 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 "reset" pina na Arduinu. To pruža sredstva za ponovno pokretanje igre.
Korak 2: Softver
Softver ima datoteku include za moje LCD sučelje, a također sam stvorio datoteku include za skeniranje matrice preklopnika 4x4. Inicijalizacija od igrača traži da odabere mjesta za svoje brodove, a zatim prelazi u stanje "Spremno". Kad su oba igrača spremna, jedan od njih započinje igru pritiskom na prekidač.
Mjesto 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 je snimljen prvi kadar, softver kontrolira tko će snimiti sljedeći snimak. Prije nego što se snimak prenese, provjerava se u odnosu na lokacije prethodnih snimaka. Ako je to mjesto već korišteno, snimak se neće prenijeti. LED dioda “My_Shot” određuje čiji je red. Tu je i zvuk hica generiran 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, poruka se prikazuje na svakom LCD -u - jedan kao pobjednik, a jedan kao gubitnik. U poruci se također navodi da se igra može ponovno pokrenuti pritiskom na gumb za poništavanje. Postoje i zasebni zvučni efekti za pobjednika i gubitnika.
Korak 3: Snimke zaslona
Evo nekoliko snimaka zaslona iz igre. To je to za ovaj post. Pogledajte moje ostale Instructables i moju web stranicu na: www.boomerrules.wordpress.com
Preporučeni:
Sučelje svemirskog broda Arduino: 3 koraka
Sučelje Arduino svemirskog broda: Zdravo, poučna zajednica, ovaj put sam napravio jedan od najjednostavnijih projekata koje treba upotpuniti Arduino Uno: krug svemirskog broda. Naziva se tako jer je to vrsta programiranja i sklopova koja bi se koristila u prvim znanstvenofantastičnim TV emisijama i filmovima
Kako izgraditi bojnog robota s kartonom i Arduinom: 7 koraka (sa slikama)
Kako izgraditi bojnog robota s kartonom i Arduinom: Napravio sam bojne botove koristeći Arduino UNO, a karton je korišten za izradu tijela. Pokušao sam koristiti pristupačne zalihe i dao djeci kreativnu slobodu kako dizajnirati svoje botove. Battlebot prima naredbe od bežičnog kontrolera
Upozorenje na vodu - uređaj za spašavanje vašeg broda: 5 koraka (sa slikama)
Upozorenje o vodi - uređaj za spašavanje vašeg broda: Ako ste vlasnik broda, postoji solidna udobnost da konačno plovilo postavite na suho. Tamo ne može potonuti. Svugdje drugdje suočava se s stalnom borbom za prevladavanje tendencije klizanja pod valovima i nestanka. Zimi ovdje, nažalost
Upravljačka ploča svemirskog broda - Laserski izrezana Arduino igračka: 11 koraka (sa slikama)
Upravljačka ploča svemirskog broda - Laserski izrezana Arduino igračka: Prije nekoliko mjeseci odlučio sam postati član lokalnog prostora za proizvođače, budući da sam već godinama želio naučiti alate zanatstva. Imao sam malo iskustva s Arduinom i pohađao sam tečaj Fusion-a ovdje na Instructables. Međutim ja h
Interaktivna igra Tic-Tac Toe igra s Arduinom: 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. Izvorno, igru igraju dva igrača na komadu papira - stavljajući simbole "X" i "O" naizmjence. Naša ideja je bila ispitati ponašanje igrača