Sisukord:
Video: Arduino lahingulaeva mäng: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Mäletan, et mängisin lapsena lahingulaevamängu paber- ja pliiatsiversiooni. Tegelikult on see olnud umbes 1. maailmasõja ajast. Mul oli ka 1960ndate alguses „elektrooniline” variant nimega „Sonar Sub Hunt”, millel olid tuled ja helid ning varjatud miinid. Tänapäeva videomängude standardite järgi on lahingulaev päris igav, kuid mõtlesin, et teen selle ikkagi, et näha, mida lapselapsed sellest arvavad. Lõppude lõpuks võib mõnikord retro olla lahe.
Sellest projektist on killukesi, mis oleksid mujal kasulikud, isegi kui te pole huvitatud lahingulaeva mängust. Sellel on lihtne 4-bitine 1602 LCD-liides, mis sisaldab rutiini konkreetse märgi asukoha määramiseks. Samuti on olemas liides 4x4 lülitusmaatriksi dekodeerimiseks. Need kaks liidest on saadaval eraldi kaasamisfailidena, nii et neid on lihtne teisaldada. Mängul on ka erinevad heliefektide rutiinid ja lihtne ühe transistoriga helivõimendusahel.
Samm: riistvara
Siin esitatud skeem on mõeldud ühele mängijale, nii et oleks vaja teha kaks ühikut. Seadmed suhtlevad 3-juhtmelise liidese abil, mis sisaldab UART TX- ja RX-liine ning maandusjuhet. Valisin tavalise 1/8 tollise stereokõrvaklappide pesa ja standardkaabli, mille mõlemas otsas olid isased pistikud. RX ühest kastist läheb teise kasti TX-sse ja vastupidi. Seda saate teha, vahetades karbi sees olevate kõrvaklappide pesasse joodetud juhtmed või vahetades need trükkplaadil selle ehitamisel.
Klassikaline mäng esitati maatriksina, kuid otsustasin teha lihtsa teostuse, kasutades ekraani jaoks 1602 LCD -ekraani. Esimene rida näitab mängija laeva asukohti ja vastase lööke. Teine rida näitab mängija lööke ja kõiki tabamusi vastase laevadel. See pakub laevadele 16 võimalikku asukohta. Laevade arv on tarkvaras paika pandud ja valisin meelevaldselt 5.
16 laeva asukohta sobivad kenasti lülitusnõuetega, kuna see võimaldab 4x4 maatriksit. Saadaval on 4x4 maatrikslüliti padjad, kuid valisin lineaarse kuva sobitamiseks üksikute lülitite kasutamise ühes reas. Siiski ühendasin lülitid 4x4 maatriksina, nii et vaja oleks ainult kaheksat Arduino tihvti. Õigete ühenduste saamiseks vaadake lülitite ühendusskeemi ja skeemi.
LCD-ekraan on ühendatud 4-bitise liidesega. Lisasin ka tihvti D13 välise LED -i, et näidata, milline mängija peaks pildistama. Esialgu otsustavad mängijad, kes teeb esimese löögi ja seejärel kontrollib tarkvara automaatselt mängu edasi -tagasi.
Tahtsin lisada võttele lihtsaid heliefekte, plahvatusi, mängu valmisolekut ja võitjat/kaotajat. Proovisin kasutada lihtsat piesosummerit, kuid lõpuks sain selle asemel väikese kõlari. Kõlari nõutav vool ületab Arduino suutlikkust, nii et lisati lihtne transistorvõimendi. Heli pole endiselt suurepärane, kuid see on parem kui sumin. Minu kõlar on 4 oomi, kuid kui teil on 8 oomi, siis vahetage skeemil olev takisti 39 oomi asemel 33 oomini. Kui kasutate piesosummerit, peaksite saama seda juhtida otse Arduino tihvtist, samal ajal kui summeri teine pool on maapinnaga ühendatud.
Komplekti kuulub ka väline lähtestuslüliti, mis on ühendatud otse maanduse ja Arduino nullimispoldi vahele. See annab võimaluse mängu taaskäivitamiseks.
Samm 2: Tarkvara
Tarkvaral on minu LCD -liidese kaasamisfail ja lõin ka kaasamisfaili 4x4 lülitusmaatriksi skannimiseks. Initsialiseerimine palub mängijal valida oma laevade asukohad ja läheb seejärel olekusse „Valmis”. Kui mõlemad mängijad on valmis, alustab üks neist mängu, vajutades lülitit.
Löögi asukoht edastatakse UART -i kaudu teisele mängijale ja sobiv tulemus edastatakse tagasi lasku teinud mängijale. Nagu varem mainitud, kontrollib tarkvara pärast esimese võtte tegemist, kes teeb järgmise võtte. Enne võtte edastamist kontrollitakse seda eelmiste võtete asukohtade suhtes. Kui seda asukohta on juba kasutatud, siis võtet ei edastata. LED “My_Shot” määrab, kelle kord on. Samuti esitatakse kehtiva valiku jaoks löögiheli ja laeva tabamisel plahvatusheli. Heliefektid on tuletatud veebist leitud näidetest koos mängule sobivate muudatustega.
Kui vastase laevad on kõik pihta saanud, kuvatakse igal LCD -l teade - üks võitja ja teine kaotaja. Sõnum täpsustab ka, et mängu saab taaskäivitada, vajutades lähtestamisnuppu. Samuti on võitjale ja kaotajale eraldi heliefektid.
3. samm: ekraanipildid
Siin on mõned ekraanipildid mängust. See on selle postituse jaoks. Vaadake minu teisi juhendeid ja ka minu veebisaiti aadressil: www.boomerrules.wordpress.com
Soovitan:
DIY 37 LED Arduino ruleti mäng: 3 sammu (piltidega)
DIY 37 Leds Arduino rulett Mäng: Rulett on kasiinomäng, mis on nime saanud prantsuse sõna järgi, mis tähendab väikest ratast
Looge Arduino Simoni mäng 2 minutiga!: 3 sammu
Loo Arduino Simoni mäng 2 minutiga!: EI džemprid! EI Juhtmeid! MITTE jootmist! EI leivalaud! Mõtlemine väljaspool kasti. Nii et soovite näidata oma mikrokontrollerit koos mõne lisaseadmetega tõesti kiiresti, enne kui sõbrad või sugulane on teel … Pange kokku
Arduino Sorta Sudoku mäng: 3 sammu (piltidega)
Arduino Sorta Sudoku mäng: Paljudele inimestele meeldib Sudokut mängida ja lapselastele meeldib arvamismängud, nii et otsustasin teha kaasaskantava “Sorta Sudoku” mängu. Minu versioonis on mäng 4x4 ruudustik, kuid pakutakse ainult ühte numbrit. Idee on arvata ülejäänud numbrid
Vajuta nuppu); // Arduino LCD -mäng: 5 sammu (piltidega)
Vajuta nuppu); // Arduino LCD -mäng: hiljuti töötasin skautides Game Design'i teenetemärgi kallal. Ühe nõude jaoks ehitasin selle mängu Arduino abil, mis põhineb LED -kiikmängul. Mängu eesmärk on koguda võimalikult palju punkte. Alguses t
Simoni mäng - lõbus mäng!: 5 sammu
Simoni mäng - lõbus mäng !: Viide: siinPärast pikka nädalavahetust peate kindlasti kõvasti proovima, et täita kõik ülesanded ja töö, mille eest vastutate. Meil on aeg oma aju treenida, kas pole? Peale nende igavate ja mõttetute mängude on olemas ka mäng nimega Simon Game