Përmbajtje:

Arduino Xhelati në Morse: 9 hapa
Arduino Xhelati në Morse: 9 hapa

Video: Arduino Xhelati në Morse: 9 hapa

Video: Arduino Xhelati në Morse: 9 hapa
Video: RobotDyn Control AC bulb with Arduino AC Dimmer 2024, Qershor
Anonim
Arduino Xhelati në Morse
Arduino Xhelati në Morse

Në këtë tutorial do t'ju tregoj se si të krijoni Arduino -n tuaj për të luajtur Hangman duke dërguar kodin Morse me një elektrik dore të thjeshtë ose funksionin e pishtarit nga telefoni juaj.

E tëra çfarë ju duhet të ndiqni janë: Një Bord Arduino. 10 LED-dritaTelë për t'i lidhur të gjitha. Shtesë: Një element Piezo (për të shtuar tingull).

Hapi 1: Vendosja e dritave LED

Vendosja e dritave LED
Vendosja e dritave LED

Kjo lojë e Morse do të përdorë 4 drita për të treguar 4 shkronjat në fjalë që duhet të merren me mend dhe 5 drita për të treguar jetën me të cilën lojtari ka lënë të mendojë, kështu që para së gjithash do të duhet të lidhësh 9 LED -dritat në mënyrën e zakonshme, siç mund të shihet në foto.

Hapi 2: Shtoni një sensor drite të improvizuar

Ne nuk mund të shkojmë duke hedhur para në dyqanet elektronike, kështu që unë kam vendosur ta mbaj këtë projekt të lirë, duke përdorur një dritë të thjeshtë LED si një sensor të improvizuar të dritës.

E tëra çfarë ju duhet të bëni është të lidhni anën plus të dritës LED me një nga portat tuaja analoge (në rastin tim A0) dhe anën minus me tokën tuaj.

Hapi 3: Shtoni Fjalorin tuaj

Shtoni Fjalorin tuaj
Shtoni Fjalorin tuaj

Së pari, së pari, le të fillojmë duke shtuar një lloj fjalori për të përkthyer shkronja në kodet e tyre përkatëse Morse. Për ta bërë këtë, ne thjesht bëjmë një grup prej 26 me 5, me slotin e parë të çdo grupi dytësor që ka shkronjën dhe 4 slotet e ardhshme që kanë kodin Morse përkatës ose një hapësirë nëse nuk ka kod të mbetur. Kështu për shembull me shkronjën s, slota e parë ka 's', slotet e dytë, të tretë dhe të katërt kanë një '.' dhe vendi i fundit ka ''.

Hapi 4: Ndizni dritat sipas parazgjedhjes

Bëni dritat të ndriçohen sipas parazgjedhjes
Bëni dritat të ndriçohen sipas parazgjedhjes
Bëni dritat të ndriçohen sipas parazgjedhjes
Bëni dritat të ndriçohen sipas parazgjedhjes

Në këtë hap, ne sigurohemi që dritat të jenë ndezur sapo të fillojë programi dhe Morse shkronjën që ato përfaqësojnë pasi përdoruesi t'i ketë marrë me mend ato (kodi për këtë do të shkruhet në hapin 6). Ne gjithashtu sigurohemi që të ketë vetëm aq drita për jetën sa lojtarët i kanë mbetur jetë.

Para kësaj, sigurohuni që keni një grup me numrat e portave dhe numrat e plotë të vendosur në 0 për të përfaqësuar kohën në të cilën drita duhet të ndizet, fiket dhe cilën pjesë të Morse-s po shfaq drita LED aktualisht.

Hapi 5: Shtimi i hyrjes

Shtimi i hyrjes
Shtimi i hyrjes

Tani ne do të shkruajmë kodin për të kontrolluar nëse luajtësi po ndriçon një dritë LED të lidhur me portën tonë analoge A0, dhe nëse ata do ta përkthejnë atë në shkronjën e duhur.

Për t'u siguruar që leximi është i saktë, ne mesatarisht bëjmë çdo 20 lexime nga drita LED dhe e përdorim atë numër për të gjetur nëse drita është fikur ose ndezur. Për ta bërë këtë, në fillim të programit ne vendosim NUM_AVG në numrin e herëve që duam që ai të kontrollojë dritën para se ta nxjerrë atë mesatarisht. Sa më i lartë të jetë ky numër, aq më i saktë është leximi, por gjithashtu mund të shkaktojë vonesa.

msBtnPushed përfaqëson sasinë e kohës për të cilën ka qenë ndezur drita. lastPressed është një boolean që mban gjurmët nëse në lakin e mëparshëm drita ishte ndezur.

Hapi 6: Trajtimi i hyrjes

Trajtimi i hyrjes
Trajtimi i hyrjes
Trajtimi i hyrjes
Trajtimi i hyrjes

Për këtë hap, ne do të hedhim një vështrim se çfarë të bëjmë pasi të ketë kaluar kohë e mjaftueshme për të supozuar se nuk do të shtohet më Morse, dhe ne duhet të kontrollojmë nëse Morse dërgoi në formë një letër dhe nëse është një letër e saktë.

Për ta bërë këtë, ne duhet të kemi vargun wordToGuess të vendosur në fjalën që duam që lojtarët tanë të marrin me mend. Unë personalisht kam një gjenerator të numrave të rastit për ta vendosur atë në një fjalë të rastësishme në fillim, por gjithashtu mund ta vendosni thjesht në një fjalë të vetme.

Ne gjithashtu duhet të sigurohemi që numëruesi të rritet me një në çdo lak, përndryshe i gjithë programi nuk do të bënte asgjë. Për më tepër, kam shtuar funksionin e vonesës, për t'u siguruar që ka një lak çdo milisekond.

PS: Të gjitha funksionet Serial.println janë vetëm për qëllime testimi. Ato mund të fshihen pas përfundimit.

GoodTimer dhe badTimer janë thjesht vlera për nëse planifikoni të përdorni një element Piezo për të shtuar tingull. Nëse dëshironi ta bëni këtë, duhet të shtoni gjithashtu kodin në figurën e dytë, e cila luan tingujt.

Hapi 7: Lidhja e Letrave të Menduara Saktësisht

Lyerja e Letrave të Menduara Saktësisht
Lyerja e Letrave të Menduara Saktësisht

Siç ishte premtuar më parë, në këtë hap ne do të bëjmë dritat që përfaqësojnë shkronjat që janë supozuar saktë Morse shkronjën e tyre.

Për këtë, unë kam shkruar dy funksione: morseThis dhe nextLetter. Ai përdor numrat që kemi vendosur më parë në grupin e kohëmatësve tanë dhe i ndryshon ato në varësi të asaj pjese të kodit Morse që po shkëlqen aktualisht.

Nëse kohëmatësi arrin kohën në të cilën duhet të ndizet drita, ai thjesht ndez dritën dhe ekzekuton kodin për të vendosur kohëmatës të rinj për të fikur dhe ndezur përsëri dritën. Nëse kohëmatësi arrin pjesën në të cilën drita duhet të kthehet fikur, fik dritën dhe pastaj vendos kodin që të përfaqësojë pjesën tjetër të shkronjës. Nëse nuk ka pjesë tjetër, e rivendos atë në pjesën e parë.

Hapi 8: Rishikimi i konfigurimit dhe rivendosjes sonë

Rishikimi i konfigurimit dhe rivendosjes sonë
Rishikimi i konfigurimit dhe rivendosjes sonë

Sigurisht që programi nuk do të funksionojë nëse dritat nuk janë vendosur në dalje dhe hyrje. Unë gjithashtu shtoj një gjenerator të numrave të rastit për të shtuar një fjalë nga një listë fjalësh që kam vendosur në një grup të quajtur fjalëToGuess.

Përveç kësaj, ne duhet të shtojmë funksionin e rivendosjes dhe të sigurohemi që të gjitha vlerat të rivendosen në parazgjedhje.

Hapi 9: Të gjitha ndryshoret në një fotografi

Të gjitha ndryshoret në një fotografi
Të gjitha ndryshoret në një fotografi

Së fundi, ju mund ta përdorni këtë për të kontrolluar nëse i keni të gjitha variablat e nevojshme të vendosura në mënyrë korrekte.

Tani kënaquni duke luajtur Hangman in Morse!

Recommended: