Sisällysluettelo:

Arduino Hangman Morse: 9 askelta
Arduino Hangman Morse: 9 askelta

Video: Arduino Hangman Morse: 9 askelta

Video: Arduino Hangman Morse: 9 askelta
Video: Morse Code Converter with arduino 2024, Kesäkuu
Anonim
Arduino Hangman Morsessa
Arduino Hangman Morsessa

Tässä opetusohjelmassa näytän sinulle, kuinka voit asettaa oman Arduinon pelaamaan Hangmania lähettämällä Morse -koodia yksinkertaisella taskulampulla tai taskulampputoiminnolla puhelimestasi.

Sinun tarvitsee vain seurata: Arduino-kortti. 10 LED-valoa Johdot yhdistääksesi kaiken.

Vaihe 1: LED-valojen asentaminen

LED-valojen asettaminen
LED-valojen asettaminen

Tässä Morse -pelissä käytetään 4 valoa, jotka osoittavat sanan 4 kirjainta, jotka on arvattava, ja 5 valoa, jotka osoittavat, mitä elämää pelaaja on jättänyt arvaamaan, joten sinun on ensin liitettävä 9 LED -valoa -valot tavalliseen tapaan, kuten kuvasta näkyy.

Vaihe 2: Lisää Makeshift -valotunnistin

Emme voi heittää rahaa elektroniikkaliikkeisiin, joten olen päättänyt pitää tämän projektin halvalla käyttämällä yksinkertaista LED-valoa väliaikaisena valoanturina.

Sinun tarvitsee vain kytkeä LED-valon pluspuoli yhteen analogisista porteistasi (minun tapauksessani A0) ja miinuspuoli maahan.

Vaihe 3: Lisää sanakirja

Lisää sanakirja
Lisää sanakirja

Aloitetaan ensin lisäämällä eräänlainen sanakirja, jolla käännetään kirjaimet vastaaviin Morse -koodeihin. Tätä varten teemme yksinkertaisesti taulukon 26 x 5, jolloin jokaisen toissijaisen taulukon ensimmäisessä paikassa on kirjain ja neljässä seuraavassa paikassa on vastaava Morse -koodi tai välilyönti, jos koodia ei ole jäljellä. Esimerkiksi s -kirjaimella ensimmäisessä korttipaikassa on 's', toisessa, kolmannessa ja neljännessä paikassa on ''. ja viimeisessä paikassa on ''.

Vaihe 4: Aseta valot syttymään oletusarvoisesti

Aseta valot syttymään oletusarvoisesti
Aseta valot syttymään oletusarvoisesti
Aseta valot syttymään oletusarvoisesti
Aseta valot syttymään oletusarvoisesti

Tässä vaiheessa varmistamme, että valot palavat, kun ohjelma käynnistyy, ja Morse -kirjain, jota he edustavat, kun käyttäjä on arvannut ne oikein (koodi kirjoitetaan vaiheessa 6). Varmistamme myös, että valoja on päällä vain niin monta elämää kuin pelaajalla on jäljellä.

Ennen tätä varmista, että sinulla on taulukko, jonka porttien numerot ja kokonaisluvut on asetettu 0-arvoon edustamaan ajankohtaa, jolloin valon pitäisi syttyä, sammua ja mikä osa Morsesta LED-valo näyttää parhaillaan.

Vaihe 5: Syötteen lisääminen

Tulon lisääminen
Tulon lisääminen

Kirjoitamme nyt koodin tarkistaaksemme, palaako soitin valoa analogiseen porttiin A0 liitettyyn LED-valoon ja jos he haluavat kääntää sen oikeaksi kirjaimeksi.

Varmistaaksemme, että lukema on oikea, keskiarvoistamme joka 20 LED-valon lukemaa ja käytämme tätä lukua valon sammuttamiseen tai syttymiseen. Tätä varten asetamme ohjelman alussa NUM_AVG sen määrän kertoja, kun haluamme sen tarkistavan valon ennen sen keskiarvon laskemista. Mitä suurempi tämä luku on, sitä tarkempi lukema on, mutta se voi myös aiheuttaa viivettä.

msBtnPushed edustaa aikaa, jonka valo on ollut päällä. lastPressed on boolean, joka seuraa, oliko valo edellisessä silmukassa.

Vaihe 6: Syötteen käsittely

Syötteen käsittely
Syötteen käsittely
Syötteen käsittely
Syötteen käsittely

Tässä vaiheessa katsomme, mitä tehdä, kun on kulunut riittävästi aikaa olettaa, ettei Morsea enää lisätä, ja meidän on tarkistettava, onko Morse lähettänyt kirjeen ja onko se oikea kirje.

Tätä varten meidän on asetettava merkkijono wordToGuess sanalle, jonka haluamme pelaajiemme arvaavan. Minulla on henkilökohtaisesti satunnaislukugeneraattori, joka asettaa sen satunnaiseksi sanaksi alussa, mutta voit myös yksinkertaisesti asettaa sen yhdelle sanalle.

Meidän on myös varmistettava, että laskuri nousee yhden silmukan verran, muuten koko ohjelma ei tee mitään. Lisäksi olen lisännyt viivästystoiminnon varmistaakseni, että silmukka on joka millisekunti.

PS: Kaikki Serial.println -toiminnot ovat vain testausta varten. Ne voidaan poistaa valmistumisen jälkeen.

GoodTimer ja badTimer ovat yksinkertaisesti arvoja, jos aiot käyttää Piezo -elementtiä äänen lisäämiseen. Jos haluat tehdä niin, sinun on myös lisättävä toisessa kuvassa oleva koodi, joka toistaa äänet.

Vaihe 7: Oikein arvattujen kirjeiden korjaaminen

Oikein arvattujen kirjeiden korjaaminen
Oikein arvattujen kirjeiden korjaaminen

Kuten aiemmin luvattiin, tässä vaiheessa teemme valot, jotka edustavat oikein arvattuja kirjaimia Morse -kirjaimena.

Tätä varten olen kirjoittanut kaksi toimintoa: morseThis ja nextLetter.

Jos ajastin saavuttaa ajan, jolloin valon pitäisi syttyä, se yksinkertaisesti sytyttää valon ja suorittaa koodin asettaakseen uudet ajastimet sammuttamaan valon ja sytyttämään sen uudelleen. pois päältä, se sammuttaa valon ja asettaa sitten koodin edustamaan kirjeen seuraavaa osaa. Jos seuraavaa osaa ei ole, se palauttaa sen ensimmäiseen osaan.

Vaihe 8: Asetusten tarkistaminen ja nollaus

Asetusten ja nollauksen tarkistaminen
Asetusten ja nollauksen tarkistaminen

Ohjelma ei tietenkään toimi, jos valoja ei ole asetettu lähtöön ja tuloon. Lisään myös satunnaislukugeneraattorin, jolla voin lisätä sanan sanaluettelosta, jonka olen laittanut sanaan nimeltä wordsToGuess.

Tämän lisäksi meidän pitäisi lisätä nollaustoiminto ja varmistaa, että kaikki arvot palautetaan oletusarvoihin.

Vaihe 9: Kaikki muuttujat yhdessä kuvassa

Kaikki muuttujat yhdessä kuvassa
Kaikki muuttujat yhdessä kuvassa

Lopuksi voit tarkistaa tämän, onko kaikki tarvittavat muuttujat asetettu oikein.

Nauti nyt Hangmanin pelaamisesta Morsessa!

Suositeltava: