Kazalo:

Arduino Hangman in Morse: 9 korakov
Arduino Hangman in Morse: 9 korakov

Video: Arduino Hangman in Morse: 9 korakov

Video: Arduino Hangman in Morse: 9 korakov
Video: Morse Code Converter with arduino 2024, Junij
Anonim
Arduino Hangman v Morseju
Arduino Hangman v Morseju

V tej vadnici vam bom pokazal, kako nastavite svoj Arduino za igranje obešenja, tako da iz telefona pošljete Morsejevo kodo s preprosto svetilko ali funkcijo svetilke.

Vse, kar morate upoštevati, je: plošča Arduino.10 LED luči Ožičenje za vse povezave. Dodatno: Piezo element (za dodajanje zvoka).

1. korak: Nastavitev LED-luči

Namestitev LED luči
Namestitev LED luči

Ta igra Morse bo uporabila 4 luči, ki označujejo 4 črke v besedi, ki jih je treba uganiti, in 5 luči, ki označujejo življenja, s katerimi je igralcu ostalo ugibati, zato morate najprej povezati 9 LED -svetli na običajen način, kot je razvidno iz slike.

2. korak: Dodajte senzor za spremembo svetlobe

Ne moremo iti naokoli in metati denarja v elektronskih trgovinah, zato sem se odločil, da bom ta projekt pocenil z uporabo preproste LED-luči kot začasnega svetlobnega senzorja.

Vse, kar morate storiti, je, da plus-stran LED-luči povežete z enim od analognih vrat (v mojem primeru A0) in minus stranjo na tla.

3. korak: Dodajte svoj slovar

Dodajte svoj slovar
Dodajte svoj slovar

Najprej najprej začnimo z dodajanjem neke vrste slovarja za prevajanje črk v ustrezne Morsejeve kode. Če želite to narediti, preprosto naredimo matriko 26 na 5, pri čemer ima prva reža vsakega sekundarnega niza črko, naslednje 4 reže pa ustrezno Morsejevo kodo ali presledek, če še ni kode. Tako na primer s črko s prva reža ima 's', druga, tretja in četrta reža pa '.' in zadnja reža ima ''.

4. korak: Privzeto prižgite luči

Naj privzeto zasvetijo luči
Naj privzeto zasvetijo luči
Naj privzeto zasvetijo luči
Naj privzeto zasvetijo luči

V tem koraku se prepričamo, da lučke prižgejo, ko se program zažene, in črko Morse, ki jo predstavljajo, ko jih je uporabnik pravilno uganil (koda za to bo napisana v 6. koraku). Poskrbimo tudi, da je prižganih le toliko luči, kolikor je igralcu ostalo.

Pred tem se prepričajte, da imate matriko s številkami vrat in celimi števili, nastavljenimi na 0, ki predstavlja čas, ko naj se lučka prižge, ugasne in kateri del Morsejeve lučke LED trenutno prikazuje.

5. korak: Dodajanje vnosa

Dodajanje vnosa
Dodajanje vnosa

Zdaj bomo napisali kodo, da preverimo, ali igralec prižge luč na LED-luči, priključeni na naša analogna vrata A0, in če jo bodo prevedli v pravo črko.

Da bi bili odčitki pravilni, povprečno vsakih 20 odčitkov osvetlimo z LED-lučko in s to številko spremljamo, ali je lučka ugasnjena ali vklopljena. Če želite to narediti, na začetku programa nastavimo NUM_AVG na to, kolikokrat želimo, da preveri svetlobo, preden jo povpreči. Višja kot je ta številka, natančnejše je odčitavanje, lahko pa povzroči tudi zamude.

msBtnPushed predstavlja čas, v katerem je lučka svetila. lastPressed je logična vrednost, ki spremlja, ali je lučka v prejšnji zanki svetila.

Korak 6: Ravnanje z vnosom

Ravnanje z vnosom
Ravnanje z vnosom
Ravnanje z vnosom
Ravnanje z vnosom

Za ta korak si bomo ogledali, kaj storiti, ko preteče dovolj časa, da domnevamo, da ne bo več dodan Morse, in preveriti moramo, ali je Morse poslal pismo in ali je pravilno črko.

Če želite to narediti, moramo nastaviti niz wordToGuess na besedo, za katero želimo, da naši igralci ugibajo. Osebno imam generator naključnih števil, ki ga na začetku nastavi na naključno besedo, lahko pa ga preprosto nastavite tudi na eno besedo.

Poskrbeti moramo tudi, da se števec dvigne za eno zanko, sicer celoten program ne bi naredil ničesar. Poleg tega sem dodal funkcijo zakasnitve, da se prepričam, da je zanka vsaka milisekunda.

PS: Vse funkcije Serial.println so samo za namene testiranja. Po zaključku jih je mogoče izbrisati.

GoodTimer in badTimer sta preprosto vrednosti, če nameravate za dodajanje zvoka uporabiti element Piezo. Če želite to narediti, morate na drugo sliko dodati tudi kodo, ki predvaja zvoke.

7. korak: Morsing pravilno ugibanih črk

Morsing pravilno ugibanih črk
Morsing pravilno ugibanih črk

Kot smo že obljubili, bomo v tem koraku naredili luči, ki predstavljajo črke, ki so bile pravilno uganine, Morsejevo črko.

Za to sem napisal dve funkciji: morseThis in nextLetter. Uporablja številke, ki smo jih predhodno nastavili v matriki časovnikov, in jih spreminja glede na to, kateri del Morsejeve kode trenutno sveti.

Če časovnik doseže čas, ko naj se prižge lučka, preprosto prižge luč in zažene kodo za nastavitev novih časovnikov za izklop in ponovni vklop lučke. off, ugasne luč in nato nastavi kodo, ki predstavlja naslednji del črke. Če naslednjega dela ni, ga ponastavi na prvi del.

8. korak: Pregled naše nastavitve in ponastavitev

Pregled naše nastavitve in ponastavitve
Pregled naše nastavitve in ponastavitve

Seveda program ne bo deloval, če luči niso nastavljene na izhod in vhod. Dodajam tudi generator naključnih števil, da dodam besedo s seznama besed, ki sem jih dal v niz, imenovan wordsToGuess.

Poleg tega bi morali dodati funkcijo ponastavitve in se prepričati, da so vse vrednosti ponastavljene na privzete.

9. korak: Vse spremenljivke na eni sliki

Vse spremenljivke na eni sliki
Vse spremenljivke na eni sliki

Nazadnje lahko s tem preverite, ali imate vse potrebne spremenljivke pravilno nastavljene.

Zdaj pa uživajte v igri Hangman in Morse!

Priporočena: