Turinys:
- 1 žingsnis: LED lempučių nustatymas
- 2 veiksmas: pridėkite „Makeshift“šviesos jutiklį
- 3 veiksmas: pridėkite savo žodyną
- 4 veiksmas: pagal numatytuosius nustatymus įjunkite lemputes
- 5 veiksmas: įvesties pridėjimas
- 6 veiksmas: įvesties tvarkymas
- 7 žingsnis: taisykite teisingai atspėtas raides
- 8 veiksmas: peržiūrėkite mūsų sąranką ir nustatykite iš naujo
- 9 veiksmas: visi kintamieji viename paveikslėlyje
Video: Arduino budelis Morzėje: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šioje pamokoje aš jums parodysiu, kaip nustatyti savo „Arduino“žaisti „Hangman“, siunčiant Morzės kodą naudojant paprastą žibintuvėlį arba žibintuvėlio funkciją iš savo telefono.
Viskas, ko jums reikia laikytis, yra: „Arduino“plokštė. 10 LED lempučių. Laidai, norint visa tai prijungti. Papildoma: pjezo elementas (norint pridėti garsą).
1 žingsnis: LED lempučių nustatymas
Šiame Morzės žaidime bus naudojamos 4 lemputės, nurodančios 4 žodžio raides, kurias reikia atspėti, ir 5 lemputės, nurodančios žaidėjo likusius atspėti gyvenimus, todėl pirmiausia turėsite prijungti 9 šviesos diodus -šviečia įprastu būdu, kaip matyti paveikslėlyje.
2 veiksmas: pridėkite „Makeshift“šviesos jutiklį
Negalime mėtyti pinigų į elektronines parduotuves, todėl nusprendžiau, kad šis projektas būtų pigus, kaip paprastą LED lemputę kaip laikiną šviesos jutiklį.
Viskas, ką jums reikia padaryti, tai prijungti pliusinę šviesos diodo pusę prie vieno iš analoginių prievadų (mano atveju A0), o minusinę-prie žemės.
3 veiksmas: pridėkite savo žodyną
Pirmiausia pradėkime nuo to, kad pridėsime tam tikrą žodyną, kuris išverstų raides į atitinkamus Morzės kodus. Norėdami tai padaryti, mes tiesiog sudarome masyvą nuo 26 iki 5, o kiekvieno antrinio masyvo pirmoje vietoje yra raidė, o 4 sekančiuose - atitinkamas Morzės kodas arba tarpas, jei jo nelieka. Pavyzdžiui, naudojant raidę s, pirmasis lizdas turi „s“, antrasis, trečiasis ir ketvirtasis - „.“o galutinis lizdas turi „“.
4 veiksmas: pagal numatytuosius nustatymus įjunkite lemputes
Atlikdami šį veiksmą, įsitikiname, kad paleidus programą užsidega lemputės, o Morzei - raidė, kurią jie atstovauja, kai vartotojas teisingai juos atspėja (kodas bus parašytas 6 veiksme). Mes taip pat pasirūpiname, kad šviesų dega tik tiek gyvybių, kiek liko žaidėjui.
Prieš tai įsitikinkite, kad turite masyvą, kurio prievadų numeriai ir sveikieji skaičiai yra nustatyti į 0, kad būtų nurodytas laikas, kuriuo šviesa turėtų užsidegti, išsijungti ir kuri Morzės dalis šiuo metu rodoma.
5 veiksmas: įvesties pridėjimas
Dabar parašysime kodą, kad patikrintume, ar grotuvas šviečia šviesos diodų lempute, prijungta prie mūsų analoginio prievado A0, ir ar jie nori išversti jį į teisingą raidę.
Norėdami įsitikinti, kad rodmenys yra teisingi, mes vidutiniškai apskaičiuojame kas 20 LED lemputės rodmenų ir naudojame šį skaičių sekdami, ar šviesa yra išjungta, ar įjungta. Norėdami tai padaryti, programos pradžioje nustatėme NUM_AVG, kiek kartų norime, kad ji patikrintų šviesą prieš vidurkį. Kuo didesnis šis skaičius, tuo tikslesnis rodmuo, tačiau tai taip pat gali sukelti vėlavimą.
„msBtnPushed“nurodo laiką, kurį lemputė buvo įjungta. lastpressed yra loginis, kuris seka, ar ankstesnėje ciklo šviesa buvo įjungta.
6 veiksmas: įvesties tvarkymas
Atlikdami šį žingsnį, pažvelgsime į tai, ką daryti, kai praėjo pakankamai laiko manyti, kad daugiau Morzės nebus pridėta, ir turime patikrinti, ar Morzė atsiuntė laišką ir ar tai teisinga raidė.
Norėdami tai padaryti, turime nustatyti eilutę wordToGuess į žodį, kurį norime, kad mūsų žaidėjai atspėtų. Aš asmeniškai turiu atsitiktinių skaičių generatorių, kad pradžioje jis būtų nustatytas kaip atsitiktinis žodis, bet jūs taip pat galite tiesiog nustatyti jį į vieną žodį.
Taip pat turime įsitikinti, kad skaitiklis kiekvieną kilpą pakyla po vieną, kitaip visa programa nieko nedarytų. Be to, pridėjau uždelsimo funkciją, kad įsitikinčiau, jog kas milisekundė yra ciklas.
PS: Visos „Serial.println“funkcijos skirtos tik bandymams. Baigus juos galima ištrinti.
„GoodTimer“ir „badTimer“yra tiesiog vertybės, jei planuojate garsui pridėti „Piezo“elementą. Jei norite tai padaryti, taip pat turite pridėti antrame paveikslėlyje esantį kodą, kuris atkuria garsus.
7 žingsnis: taisykite teisingai atspėtas raides
Kaip buvo žadėta anksčiau, šiame žingsnyje mes padarysime šviesas, atspindinčias teisingai atspėtas raides, Morzes.
Tam aš parašiau dvi funkcijas: „morseThis“ir „nextLetter“. Jis naudoja skaičius, kuriuos anksčiau nustatėme savo laikmačių masyve, ir keičia juos priklausomai nuo to, kuri Morzės kodo dalis šiuo metu šviečia.
Jei laikmatis pasiekia laiką, kuriuo šviesa turėtų įsijungti, jis tiesiog įjungia šviesą ir paleidžia kodą, kad nustatytų naujus laikmačius, kad šviesa išjungtų ir vėl įjungtų. Jei laikmatis pasiekia tą dalį, kurioje šviesa turėtų grįžti atgal išjungtas, jis išjungia šviesą ir nustato kodą, kuris atspindėtų kitą raidės dalį. Jei kitos dalies nėra, ji grąžina ją į pirmą dalį.
8 veiksmas: peržiūrėkite mūsų sąranką ir nustatykite iš naujo
Žinoma, programa nebus paleista, jei lemputės nebus išvesties ir įvesties. Taip pat pridedu atsitiktinių skaičių generatorių, kad pridėčiau žodį iš žodžių, kuriuos įdėjau į masyvą, pavadintą „wordsToGuess“, sąrašo.
Be to, turėtume pridėti atstatymo funkciją ir įsitikinti, kad visos vertės yra atstatytos į numatytąsias.
9 veiksmas: visi kintamieji viename paveikslėlyje
Galiausiai galite tai naudoti norėdami patikrinti, ar teisingai nustatėte visus reikiamus kintamuosius.
Dabar mėgaukitės „Hangman“žaidimu Morze!
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Pigiausias „Arduino“-- Mažiausias „Arduino“-- „Arduino Pro Mini“-- Programavimas -- „Arduino Neno“: 6 žingsniai (su nuotraukomis)
Pigiausias „Arduino“|| Mažiausias „Arduino“|| „Arduino Pro Mini“|| Programavimas || Arduino Neno: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų ……. .Šis projektas yra apie tai, kaip sujungti mažiausią ir pigiausią arduino. Mažiausias ir pigiausias arduino yra arduino pro mini. Tai panašu į arduino