Мазмұны:

Морзедегі Ардуино Хангман: 9 қадам
Морзедегі Ардуино Хангман: 9 қадам

Бейне: Морзедегі Ардуино Хангман: 9 қадам

Бейне: Морзедегі Ардуино Хангман: 9 қадам
Бейне: Lesson 09 2024, Қараша
Anonim
Морзедегі Ардуино Хангман
Морзедегі Ардуино Хангман

Бұл оқулықта мен сізге телефоннан Морзе кодын жіберу арқылы Hangman ойнауға өзіңіздің Arduino -ны қалай орнату керектігін көрсетемін.

Сізге келесі ережелерді сақтау қажет: Arduino тақтасы 10 жарықдиодты шамдар Барлығын қосуға арналған сымдар Қосымша: Piezo элементі (дыбыс қосу үшін).

1-қадам: жарықдиодты шамдарды орнату

Жарықдиодты шамдарды орнату
Жарықдиодты шамдарды орнату

Бұл Морзе ойыны сөздің 4 әрпін көрсету үшін 4 шамды және ойыншы ойлап тапқан өмірді білдіретін 5 шамды қолданады, сондықтан алдымен 9 жарықдиодты қосу керек. -суретте көрініп тұрғандай, жарықтар әдеттегідей.

2 -қадам: Уақытша жарық сенсорын қосыңыз

Біз электронды дүкендерге ақша лақтыра алмаймыз, сондықтан мен жарық диодты қарапайым жарықдиодты қолдана отырып, бұл жобаны арзан ұстауды шештім.

Сізге тек жарықдиодты шамның плюс жағын аналогтық порттардың біріне (менің жағдайда A0) және минус жағын жерге қосу керек.

3 -қадам: Сөздігіңізді қосыңыз

Сөздігіңізді қосыңыз
Сөздігіңізді қосыңыз

Біріншіден, әріптерді сәйкес морзе кодтарына аудару үшін сөздік қосудан бастайық. Мұны істеу үшін біз 26 -дан 5 -ке дейінгі массив жасаймыз, әр қосалқы массивтің бірінші ұяшығында әріп бар, ал келесі 4 слотта сәйкес Морзе коды немесе егер код қалмаса бос орын болады. Мысалы, s әрпімен бірінші ұяшықта 's', екінші, үшінші және төртінші слоттарда '' бар. және соңғы ұяшықта '' бар.

4 -қадам: Шамдарды әдепкі бойынша жарықтандырыңыз

Шамдарды әдепкі бойынша жарықтандырыңыз
Шамдарды әдепкі бойынша жарықтандырыңыз
Шамдарды әдепкі бойынша жарықтандырыңыз
Шамдарды әдепкі бойынша жарықтандырыңыз

Бұл қадамда біз бағдарлама басталғаннан кейін шамдардың жанып тұрғанына көз жеткіземіз, ал қолданушы оларды дұрыс тапқаннан кейін Морзе әрпін көрсетеді (бұл код 6 -қадамда жазылады). Біз сондай -ақ ойыншының өмірі қалғанша, өмір үшін қанша шамдар жанатынын тексереміз.

Бұған дейін сізде жарықтың қосылуы, сөнуі және Морзенің жарықдиодты шамы көрсететін уақытты білдіретін порт сандары мен бүтін сандары 0-ге орнатылған массив бар екеніне көз жеткізіңіз.

5 -қадам: Енгізуді қосу

Енгізуді қосу
Енгізуді қосу

Енді біз кодты ойнатқыштың біздің аналогтық порт A0-ға қосылған жарықдиодты шамға түсіріп тұрғанын тексеру үшін жазуымыз керек, егер олар оны дұрыс әріпке аударса.

Оқудың дұрыстығына көз жеткізу үшін біз жарықдиодты шамның әрбір 20 оқуын орта есеппен шығарамыз және жарықтың сөніп тұрғанын немесе қосылып тұрғанын бақылау үшін сол санды қолданамыз. Мұны істеу үшін бағдарламаның басында біз NUM_AVG -ді жарықты сөндірместен бұрын тексеруді қалайтын уақытқа орнатамыз. Бұл сан неғұрлым жоғары болса, оқу дәлірек болады, бірақ ол кідірістерге әкелуі мүмкін.

msBtnPushed - бұл жарықтың қосулы болған уақытын білдіреді.lastPressed - бұл алдыңғы циклде жарықтың қосылып тұрғанын қадағалайтын логикалық.

6 -қадам: кірісті өңдеу

Кірісті өңдеу
Кірісті өңдеу
Кірісті өңдеу
Кірісті өңдеу

Бұл қадам үшін біз Морзе енді қосылмайды деп болжау үшін жеткілікті уақыт өткен соң не істеу керектігін қарастырамыз және Морзе хат жібергенін және оның дұрыс әріп екенін тексеруіміз керек.

Мұны істеу үшін бізде ойыншылар ойнағысы келетін сөзге wordToGuess жолын орнату керек. Менде кездейсоқ сандар генераторы бар, оны кездейсоқ сөзге қоюға болады, бірақ сіз оны бір сөзге орната аласыз.

Біз сонымен қатар есептегіштің әр циклге бір көтерілетініне көз жеткізуіміз керек, әйтпесе бүкіл бағдарлама ештеңе жасамайды. Сонымен қатар, мен әрбір миллисекундта цикл бар екеніне көз жеткізу үшін кешіктіру функциясын қостым.

PS: Serial.println функцияларының барлығы тестілеу мақсатында ғана. Олар аяқталғаннан кейін жойылуы мүмкін.

GoodTimer және badTimer - бұл дыбыс қосу үшін Piezo элементін пайдалануды жоспарлап отырсаңыз, жай ғана мәндер. Егер сіз мұны қаласаңыз, дыбысты ойнататын екінші суреттегі кодты қосуыңыз керек.

7 -қадам: Дұрыс табылған әріптерді морсинг

Дұрыс табылған хаттарды морсингке салу
Дұрыс табылған хаттарды морсингке салу

Бұрын уәде етілгендей, бұл қадамда біз дұрыс таңдалған әріптерді білдіретін шамдарды Морзе деп атаймыз.

Ол үшін мен екі функцияны жаздым: morseThis және nextLetter. It біздің таймер массивінде бұрын орнатқан сандарды қолданады және оларды Морзе кодының қай бөлігінің жарқырап тұрғанына байланысты өзгертеді.

Егер таймер жарық қосылатын уақытқа жетсе, ол тек шамды қосады және жаңа таймерлердің жарықты өшіруге және қайта қосуға кодымен жұмыс жасайды. өшірулі, ол жарықты өшіреді, содан кейін әріптің келесі бөлігін көрсету үшін кодты орнатады. Егер келесі бөлім болмаса, оны бірінші бөлімге қайтарады.

8 -қадам: Орнатуды қарап шығыңыз және қалпына келтіріңіз

Орнату мен қалпына келтіруді қарау
Орнату мен қалпына келтіруді қарау

Әрине, егер шамдар шығуға және кіруге орнатылмаса, бағдарлама іске қосылмайды. Мен сондай -ақ wordToGuess деп аталатын массивке енгізген сөздер тізімінен сөз қосу үшін кездейсоқ сандар генераторын қосамын.

Сонымен қатар, біз қалпына келтіру функциясын қосуымыз керек және барлық мәндердің әдепкі бойынша қалпына келтірілгеніне көз жеткізуіміз керек.

9 -қадам: Барлық суреттер бір суретте

Барлық суреттер бір суретте
Барлық суреттер бір суретте

Ақырында, сіз мұны барлық қажетті айнымалылардың дұрыс орнатылғанын тексеру үшін пайдалана аласыз.

Енді Морзда Hangman ойнаудан ләззат алыңыз!

Ұсынылған: