Orodha ya maudhui:

Arduino Hangman huko Morse: Hatua 9
Arduino Hangman huko Morse: Hatua 9

Video: Arduino Hangman huko Morse: Hatua 9

Video: Arduino Hangman huko Morse: Hatua 9
Video: Arduino Hangman Game 2024, Juni
Anonim
Arduino Hangman huko Morse
Arduino Hangman huko Morse

Katika mafunzo haya nitakuonyesha jinsi ya kuanzisha Arduino yako mwenyewe kucheza Hangman kwa kutuma nambari ya Morse na tochi rahisi au kazi ya tochi kutoka kwa simu yako.

Wote unahitaji kufuata ni: Bodi ya Arduino. Taa za LED za 10 Kuunganisha yote. Ziada: Kipengele cha Piezo (kuongeza sauti).

Hatua ya 1: Kuweka taa za LED

Kuweka taa za LED
Kuweka taa za LED

Mchezo huu wa Morse utatumia taa 4 kuonyesha herufi 4 kwenye neno ambazo zinahitaji kukadiriwa na taa 5 kuonyesha maisha ambayo mchezaji ameacha kubashiri nayo, kwa hivyo kwanza itabidi uunganishe 9 LED taa kwa njia ya kawaida, kama inavyoonekana kwenye picha.

Hatua ya 2: Ongeza Sensorer ya Mwanga wa Makeshift

Hatuwezi kuzunguka tukirusha pesa kwenye duka za elektroniki, kwa hivyo nimeamua kuweka mradi huu kwa bei rahisi, kwa kutumia taa nyepesi ya LED kama sensa ya taa ya muda mfupi.

Unachohitaji kufanya ni kuunganisha upande wa pamoja wa taa ya LED kwa moja ya bandari zako za analog (kwa upande wangu A0) na upande wa chini kwenye ardhi yako.

Hatua ya 3: Ongeza Kamusi Yako

Ongeza Kamusi Yako
Ongeza Kamusi Yako

Kwanza fanya vitu vya kwanza, hebu anza kwa kuongeza aina ya kamusi kutafsiri herufi kwa nambari zao zinazofanana za Morse. Ili kufanya hivyo, tunatengeneza safu ya 26 hadi 5, na nafasi ya kwanza ya kila safu ya sekondari ikiwa na barua na nafasi nne zinazofuata zilizo na nambari inayofanana ya Morse au nafasi ikiwa hakuna nambari iliyobaki. Kwa hivyo kwa mfano na herufi s, nafasi ya kwanza ina 's', nafasi ya pili, ya tatu na ya nne ina '.' na nafasi ya mwisho ina.

Hatua ya 4: Fanya Taa ziangaze kwa Default

Tengeneza Taa ziangaze kwa Default
Tengeneza Taa ziangaze kwa Default
Tengeneza Taa ziangaze kwa Default
Tengeneza Taa ziangaze kwa Default

Katika hatua hii, tunahakikisha taa imewashwa mara tu programu inapoanza na Morse herufi wanayowakilisha mara tu mtumiaji amewazia (nambari ya hii itaandikwa katika hatua ya 6). Tunahakikisha pia kuwa kuna taa nyingi tu kwa maisha kama mchezaji ana maisha ya kushoto.

Kabla ya hii, hakikisha una safu na nambari za bandari na nambari zilizowekwa kwa 0 kuwakilisha wakati ambapo taa inapaswa kuzima, kuzima na ni sehemu gani ya Morse taa ya LED inayoonyesha sasa.

Hatua ya 5: Kuongeza Ingizo

Kuongeza Ingizo
Kuongeza Ingizo

Sasa tutaandika nambari ili kuangalia ikiwa mchezaji anaangaza taa kwenye taa ya LED iliyounganishwa na bandari yetu ya Analog A0, na ikiwa wataitafsiri kwa herufi sahihi.

Ili kuhakikisha usomaji ni sahihi, tunakadiri kila usomaji 20 na taa ya LED na tumia nambari hiyo kufuatilia ikiwa taa imewashwa au imewashwa. Ili kufanya hivyo, mwanzoni mwa programu tuliweka NUM_AVG kwa idadi ya nyakati tunayotaka iangalie taa kabla ya kuifanya. Idadi hii iko juu, usomaji ni sahihi zaidi, lakini pia inaweza kusababisha ucheleweshaji.

msBtnPushed inawakilisha kiwango cha wakati ambacho taa imekuwa ikiwashwa. LastPressed ni boolean ambayo inafuatilia iwapo kwenye kitanzi kilichopita taa ilikuwa imewashwa.

Hatua ya 6: Kushughulikia Ingizo

Kushughulikia Ingizo
Kushughulikia Ingizo
Kushughulikia Ingizo
Kushughulikia Ingizo

Kwa hatua hii, tutaangalia nini cha kufanya mara moja ya kutosha imepita kudhani hakuna Morse tena atakayeongezwa, na tunahitaji kuangalia ikiwa Morse alituma fomu ya barua na ikiwa ni barua sahihi.

Ili kufanya hivyo, tunahitaji kuwa na kamba ya nenoToGuess iliyowekwa kwa neno tunataka wachezaji wetu nadhani. Binafsi nina jenereta ya nambari isiyo ya kawaida kuiweka kwa neno la kubahatisha mwanzoni, lakini unaweza kuiweka kwa neno moja tu.

Tunahitaji pia kuhakikisha kuwa kaunta inakwenda juu kwa kila kitanzi, vinginevyo mpango mzima haungefanya chochote. Kwa kuongezea, nimeongeza kazi ya kuchelewesha, kuhakikisha kuwa kuna kitanzi kila milisecond.

PS: Kazi zote za Serial.println ni kwa madhumuni ya upimaji tu. Zinaweza kufutwa baada ya kukamilika.

TimTimer na badTimer ni maadili tu ikiwa unapanga kutumia kipengee cha Piezo kuongeza sauti. Ikiwa unataka kufanya hivyo, lazima pia uongeze nambari kwenye picha ya pili, ambayo inacheza sauti.

Hatua ya 7: Kuzingatia Barua zilizokadiriwa kwa usahihi

Kuzingatia Barua Zilizodhaniwa Sahihi
Kuzingatia Barua Zilizodhaniwa Sahihi

Kama ilivyoahidiwa hapo awali, katika hatua hii tutafanya taa ambazo zinawakilisha herufi ambazo zimekadiriwa kwa usahihi Morse barua yao.

Kwa hili, nimeandika kazi mbili: morseThis na nextLetter. Inatumia nambari ambazo tumeweka hapo awali katika safu yetu ya vipima na kuzibadilisha kulingana na sehemu gani ya nambari ya Morse inayoangaza sasa.

Ikiwa kipima muda kinafikia wakati ambapo taa inapaswa kuendelea, inawasha tu taa na inaendesha msimbo ili kuweka vipima vipya kuzima na kuwasha tena. Ikiwa kipima muda kinafikia sehemu ambayo taa inapaswa kurudi nyuma imezima taa na kisha huweka nambari ya kuwakilisha sehemu inayofuata ya barua. Ikiwa hakuna sehemu inayofuata, inaiweka tena kwa sehemu ya kwanza.

Hatua ya 8: Kupitia Usanidi wetu na Kuweka upya

Kupitia Usanidi wetu na Kuweka upya
Kupitia Usanidi wetu na Kuweka upya

Kwa kweli mpango hautatumika ikiwa taa hazijawekwa kwenye pato na pembejeo. Ninaongeza pia jenereta ya nambari ya nasibu ili kuongeza neno kutoka kwenye orodha ya maneno ambayo nimeweka katika safu inayoitwa manenoToGuess.

Mbali na hayo, tunapaswa kuongeza kazi ya kuweka upya na kuhakikisha kuwa maadili yote yamewekwa upya kuwa chaguo-msingi.

Hatua ya 9: Vigeugeu vyote kwenye Picha Moja

Vigeuzi vyote katika Picha Moja
Vigeuzi vyote katika Picha Moja

Mwishowe, unaweza kutumia hii kuangalia ikiwa una vigeuzi vyote muhimu vilivyowekwa sawa.

Sasa furahiya kucheza Hangman huko Morse!

Ilipendekeza: