Sisukord:
- Samm: LED-tulede seadistamine
- Samm: lisage Makeshift valgusandur
- Samm: lisage oma sõnastik
- Samm 4: Pange tuled vaikimisi põlema
- Samm: sisendi lisamine
- 6. samm: sisendi käsitlemine
- 7. samm: õigesti arvatavate kirjade parandamine
- 8. samm: vaadake üle meie seadistamine ja lähtestamine
- 9. samm: kõik muutujad ühel pildil
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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
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
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
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
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
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
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
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
Lõpuks võite selle abil kontrollida, kas kõik vajalikud muutujad on õigesti seadistatud.
Nautige nüüd Morse'is Hangmani mängimist!