Sisällysluettelo:
Video: Arduino -taistelulaivapeli: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Muistan, että pelasin lapsena taistelulaivapelistä paperi- ja lyijykynäversiota. Itse asiassa se on ollut olemassa noin ensimmäisen maailmansodan jälkeen. Minulla oli 1960 -luvun alussa myös "elektroninen" variantti "Sonar Sub Hunt", jossa oli valoja ja ääniä ja piilotettuja miinoja. Nykypäivän videopelistandardien mukaan Battleship on melko tylsä, mutta ajattelin tehdä sellaisen joka tapauksessa vain nähdäkseni, mitä lapsenlapset ajattelevat siitä. Loppujen lopuksi retro voi joskus olla viileää.
Tästä projektista on palasia, jotka olisivat hyödyllisiä muualla, vaikka et olisikaan kiinnostunut taistelulaivapelin tekemisestä. Siinä on yksinkertainen 4-bittinen 1602 LCD-käyttöliittymä, joka sisältää rutiinin tietyn merkin sijainnin asettamiseksi. Siellä on myös käyttöliittymä 4x4 -kytkinmatriisin dekoodaamiseen. Nämä kaksi käyttöliittymää ovat saatavilla erillisinä tiedostoina, joten ne on helppo kuljettaa. Pelissä on myös erilaisia äänitehosteita ja yksinkertainen yhden transistorin äänivahvistinpiiri.
Vaihe 1: Laitteisto
Tässä esitetty kaavio koskee yhtä pelaajaa, joten kaksi yksikköä on tehtävä. Yksiköt kommunikoivat käyttämällä 3-johdinliitäntää, joka sisältää UART TX- ja RX-linjat sekä maadoitusjohdon. Päätin käyttää tavallista 1/8 tuuman stereokuulokeliitäntää ja tavallista kaapelia, jossa on urosliittimet molemmissa päissä. Toisen laatikon vastaanotto menee toisen laatikon lähetykseen ja päinvastoin. Voit tehdä sen vaihtamalla kuulokeliitäntään juotetut johdot laatikon sisällä tai vaihtamalla ne piirilevylle rakennettaessa.
Klassinen peli esitettiin matriisina, mutta päätin tehdä yksinkertaisen toteutuksen käyttämällä näytön 1602 LCD -näyttöä. Ensimmäinen rivi näyttää pelaajan aluksen sijainnin ja vastustajan laukaukset. Toinen rivi näyttää pelaajan laukaukset ja mahdolliset osumat vastustajan laivoilla. Se tarjoaa 16 mahdollista sijaintia aluksille. Alusten määrä on asetettu ohjelmistossa ja valitsin mielivaltaisesti 5.
16 aluksen sijaintia sopivat hyvin kytkinvaatimuksiin, koska se mahdollistaa 4x4 -matriisin. Saatavana on 4x4 -matriisikytkinlevyjä, mutta päätin käyttää yksittäisiä kytkimiä yhdellä rivillä lineaarisen näytön mukaan. Johdotin kuitenkin kytkimet 4x4 -matriisiksi niin, että tarvitaan vain kahdeksan Arduino -nastaa. Katso oikeat kytkennät kytkimen kytkentäkaaviosta ja kaaviosta.
LCD-näyttö on kytketty 4-bittiseen käyttöliittymään. Lisäsin myös ulkoisen merkkivalon nastaan D13 osoittamaan, kenen pelaajan pitäisi ottaa kuva. Aluksi pelaajat päättävät, kuka ottaa ensimmäisen laukauksen, ja sitten ohjelmisto ohjaa automaattisesti pelin edestakaisin.
Halusin lisätä yksinkertaisia äänitehosteita laukaukseen, räjähdyksiin, pelivalmiuteen ja voittajaan/häviäjään. Yritin käyttää yksinkertaista pietsosummeria, mutta päädyin sen sijaan pieneen kaiuttimeen. Kaiuttimen vaatima virta ylittää sen, mitä Arduino pystyy käsittelemään, joten siihen lisättiin yksinkertainen transistorivahvistin. Ääni ei edelleenkään ole loistava, mutta parempi kuin summeri. Kaiutin on 4 ohmia, mutta jos sinulla on 8 ohmin kaiutin, vaihda kaavion vastus 39 ohmista 33 ohmiin. Jos käytät pietsosummeria, sinun pitäisi pystyä ajamaan sitä suoraan Arduino -nastasta ja summerin toinen puoli on kytketty maahan.
Mukana on myös ulkoinen nollauskytkin, joka on kytketty suoraan maan ja Arduinon "nollaus" -tapin väliin. Se tarjoaa keinot pelin käynnistämiseksi uudelleen.
Vaihe 2: Ohjelmisto
Ohjelmistolla on LCD -käyttöliittymän sisällytystiedosto, ja loin myös sisällytystiedoston 4x4 -kytkinmatriisin skannausta varten. Alustus kehottaa pelaajaa valitsemaan alustensa sijainnit ja siirtyy sitten valmiustilaan. Kun molemmat pelaajat ovat valmiita, toinen heistä aloittaa pelin painamalla kytkintä.
Laukauspaikka lähetetään UART: n kautta toiselle pelaajalle ja sopiva tulos välitetään takaisin pelaajalle, joka ampui laukauksen. Kuten aiemmin mainittiin, ohjelmisto hallitsee ensimmäisen kuvan ottamisen jälkeen, kuka ottaa seuraavan kuvan. Ennen kuin laukaus lähetetään, se tarkistetaan edellisten laukausten sijaintien kanssa. Jos kyseistä sijaintia on jo käytetty, laukausta ei lähetetä. "My_Shot" -merkkivalo määrittää, kenen vuoro on. Kuuluu myös laukausääni kelvollista valintaa varten ja räjähdysääni, jos alus osuu. Äänitehosteet ovat peräisin netistä löydetyistä esimerkeistä peliin sopivilla muutoksilla.
Kun vastustajan alukset ovat osuneet, jokaisessa nestekidenäytössä näkyy viesti - yksi voittajana ja toinen häviäjänä. Viesti kertoo myös, että peli voidaan käynnistää uudelleen painamalla nollauspainiketta. Voittajalle ja häviäjälle on myös erilliset äänitehosteet.
Vaihe 3: Näyttökuvat
Tässä muutama kuvakaappaus pelistä. Siinä tämä postaus. Tutustu muihin ohjeisiini ja myös verkkosivustolleni osoitteessa: www.boomerrules.wordpress.com
Suositeltava:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa