Sisukord:

Arduino Hangman Morse'is: 9 sammu
Arduino Hangman Morse'is: 9 sammu

Video: Arduino Hangman Morse'is: 9 sammu

Video: Arduino Hangman Morse'is: 9 sammu
Video: Morse Code Converter with arduino 2024, November
Anonim
Arduino Hangman Morse'is
Arduino Hangman Morse'is

Selles õpetuses näitan teile, kuidas seadistada oma Arduino Hangmani mängimiseks, saates Morse koodi lihtsa taskulambi või telefoni taskulambi funktsiooniga.

Kõik, mida peate järgima, on: Arduino tahvel. 10 LED-valgustit Juhtmed selle kõige ühendamiseks. Lisa: piesoelement (heli lisamiseks).

Samm: LED-tulede seadistamine

LED-tulede seadistamine
LED-tulede seadistamine

Selles morsimängus kasutatakse 4 tuld, mis tähistavad sõna 4 tähte, mida tuleb ära arvata, ja 5 tuld, mis näitavad elu, mille mängijal on jäänud arvata, nii et kõigepealt peate ühendama 9 LED -i. -tuled tavalisel viisil, nagu pildilt näha.

Samm: lisage Makeshift valgusandur

Me ei saa elektroonikapoodidesse raha visata, nii et olen otsustanud selle projekti odavana hoida, kasutades ajutise valgusandurina lihtsat LED-valgustit.

Kõik, mida pead tegema, on ühendada LED-tule plusspool ühe analoogpordiga (minu puhul A0) ja miinuspool maaga.

Samm: lisage oma sõnastik

Lisage oma sõnastik
Lisage oma sõnastik

Kõigepealt alustame lisades omamoodi sõnastiku, mis tõlgib tähti vastavatele morsekoodidele. Selleks teeme lihtsalt massiivi 26x5, kusjuures iga sekundaarse massiivi esimeses pilus on täht ja neljas järgmises pesas vastav Morse -kood või tühik, kui koodi pole jäänud. Nii et näiteks tähega s on esimeses pesas 's', teises, kolmandas ja neljandas pesas ''. ' ja viimases pesas on "".

Samm 4: Pange tuled vaikimisi põlema

Pange tuled vaikimisi põlema
Pange tuled vaikimisi põlema
Pange tuled vaikimisi põlema
Pange tuled vaikimisi põlema

Selles etapis veendume, et tuled põlevad pärast programmi käivitamist ja Morse -tähte, mida nad esindavad, kui kasutaja on need õigesti ära arvanud (selle kood kirjutatakse 6. sammus). Samuti hoolitseme selle eest, et kogu eluks oleks tulesid nii palju, kui mängijal on elu jäänud.

Enne seda veenduge, et teil oleks massiiv, mille pordinumbrid ja täisarvud on seatud väärtusele 0, et näidata aega, millal tuli peaks süttima, kustub ja millist Morse osa LED-tuli praegu näitab.

Samm: sisendi lisamine

Sisendi lisamine
Sisendi lisamine

Nüüd kirjutame koodi, et kontrollida, kas mängija paistab meie analoogpordiga A0 ühendatud LED-tulele valgust ja kas nad peavad selle õigeks täheks tõlkima.

Et veenduda, et näidud on õiged, keskmistame LED-tule iga 20 näidu järgi ja kasutame seda numbrit, et jälgida, kas valgus on välja lülitatud või sisse lülitatud. Selleks seadsime programmi alguses NUM_AVG selle arvu kordi, kui palju me tahame, et see kontrolliks valgust enne selle keskmistamist. Mida suurem see arv on, seda täpsem on näit, kuid see võib põhjustada ka viivitusi.

msBtnPushed tähistab aega, mille jooksul tuli on sisse lülitatud. lastpressed on tõeväärtus, mis jälgib, kas eelmises silmus oli tuli sisse lülitatud.

6. samm: sisendi käsitlemine

Sisendi käsitsemine
Sisendi käsitsemine
Sisendi käsitsemine
Sisendi käsitsemine

Selle sammu jaoks vaatame, mida teha, kui on möödunud piisavalt aega, et eeldada, et morssi enam ei lisata, ning peame kontrollima, kas Morse saatis kirja ja kas see on õige täht.

Selleks peab meil olema string wordToGuess seatud sõnale, mida tahame, et meie mängijad ära arvaks. Minul isiklikult on juhuslike numbrite generaator, mis määrab selle alguses juhusliku sõna, kuid võite selle ka lihtsalt ühele sõnale seada.

Samuti peame veenduma, et loendur tõuseb iga silmuse võrra ühe võrra, vastasel juhul ei teeks kogu programm midagi. Lisaks olen lisanud viivitusfunktsiooni, et veenduda, et iga millisekundi järel on silmus.

PS: Kõik funktsioonid Serial.println on mõeldud ainult testimiseks. Lõpetamisel võib need kustutada.

GoodTimer ja badTimer on lihtsalt väärtused, kui kavatsete heli lisamiseks kasutada piesoelementi. Kui soovite seda teha, peate lisama ka teise pildi koodi, mis mängib helisid.

7. samm: õigesti arvatavate kirjade parandamine

Õigesti arvatavate kirjade parandamine
Õigesti arvatavate kirjade parandamine

Nagu varem lubatud, teeme selles etapis õigesti arvatavaid tähti tähistavad tuled Morse'i kirjaks.

Selle jaoks olen kirjutanud kaks funktsiooni: morseThis ja nextLetter. See kasutab meie taimerite massiivi varem seatud numbreid ja muudab neid sõltuvalt sellest, millist Morse koodi osa see praegu särab.

Kui taimer jõuab ajani, millal tuli peaks süttima, lülitab see lihtsalt valguse sisse ja käivitab koodi, et seada uued taimerid valguse välja ja uuesti sisse lülitamiseks. Kui taimer jõuab osani, kus valgus peaks tagasi minema välja lülitatud, lülitab see valguse välja ja määrab seejärel koodi, mis tähistab kirja järgmist osa. Kui järgmist osa pole, lähtestab see esimese osa.

8. samm: vaadake üle meie seadistamine ja lähtestamine

Meie seadistamise ja lähtestamise ülevaatamine
Meie seadistamise ja lähtestamise ülevaatamine

Loomulikult ei tööta programm, kui tuled ei ole väljundiks ja sisendiks määratud. Lisan ka juhuslike numbrite generaatori, et lisada sõna sõnade loendist, mille olen pannud massiivi nimega wordsToGuess.

Lisaks peaksime lisama lähtestamisfunktsiooni ja veenduma, et kõik väärtused on vaikeseadetele lähtestatud.

9. samm: kõik muutujad ühel pildil

Kõik muutujad ühel pildil
Kõik muutujad ühel pildil

Lõpuks võite selle abil kontrollida, kas kõik vajalikud muutujad on õigesti seadistatud.

Nautige nüüd Morse'is Hangmani mängimist!

Soovitan: