Kazalo:
- 1. korak: Nastavitev LED-luči
- 2. korak: Dodajte senzor za spremembo svetlobe
- 3. korak: Dodajte svoj slovar
- 4. korak: Privzeto prižgite luči
- 5. korak: Dodajanje vnosa
- Korak 6: Ravnanje z vnosom
- 7. korak: Morsing pravilno ugibanih črk
- 8. korak: Pregled naše nastavitve in ponastavitev
- 9. korak: Vse spremenljivke na eni sliki
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
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
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
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
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
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
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
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
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
Nazadnje lahko s tem preverite, ali imate vse potrebne spremenljivke pravilno nastavljene.
Zdaj pa uživajte v igri Hangman in Morse!