Съдържание:

Arduino Hangman in Morse: 9 стъпки
Arduino Hangman in Morse: 9 стъпки

Видео: Arduino Hangman in Morse: 9 стъпки

Видео: Arduino Hangman in Morse: 9 стъпки
Видео: Morse Code Converter with arduino 2024, Юни
Anonim
Ардуино палач в Морзе
Ардуино палач в Морзе

В този урок ще ви покажа как да настроите свой собствен Arduino да играе Hangman, като изпратите азбуката на Морз с обикновено фенерче или функцията на фенерчето от телефона си.

Всичко, което трябва да следвате, са: Arduino Board.10 LED-светлини Кабели за свързване на всичко.

Стъпка 1: Настройване на LED светлините

Настройване на LED светлините
Настройване на LED светлините

Тази игра на Морс ще използва 4 светлини, за да посочи 4 -те букви в думата, които трябва да бъдат отгатнати, и 5 светлини, за да посочат живота, с който играчът е оставил да гадае, така че на първо място ще трябва да свържете 9 LED -свети по обичайния начин, както може да се види на снимката.

Стъпка 2: Добавете сензор за превключване на светлина

Не можем да обикаляме и да хвърляме пари по електронните магазини, затова реших да запазя този проект евтин, като използвам обикновена LED светлина като импровизиран сензор за светлина.

Всичко, което трябва да направите, е да свържете плюсовата страна на LED светлината към един от вашите аналогови портове (в моя случай A0) и минусовата страна към земята.

Стъпка 3: Добавете своя речник

Добавете своя речник
Добавете своя речник

Първо, нека започнем, като добавим един вид речник за превод на букви към съответните им азбуки на Морзе. За да направим това, просто правим масив от 26 на 5, като първият слот на всеки вторичен масив има буквата, а 4 -те следващи слота имат съответния код на Морзе или интервал, ако няма останал код. Така например с буквата s, първият слот има 's', вторият, третият и четвъртият слот имат '.' и крайният слот има ''.

Стъпка 4: Направете светлините да светят по подразбиране

Направете светлините да светят по подразбиране
Направете светлините да светят по подразбиране
Направете светлините да светят по подразбиране
Направете светлините да светят по подразбиране

В тази стъпка се уверяваме, че светлините са включени, след като програмата стартира, и буквата на Морз, която те представляват, след като потребителят правилно ги познае (кодът за това ще бъде написан в стъпка 6). Ние също така се уверяваме, че има само толкова светлини за живота, колкото са останали животи на играча.

Преди това се уверете, че имате масив с номера на портове и цели числа, зададени на 0, за да представите времето, в което светлината трябва да светне, изключи и коя част от морзовия светодиод показва в момента.

Стъпка 5: Добавяне на входа

Добавяне на вход
Добавяне на вход

Сега ще напишем кода, за да проверим дали играчът свети на LED-лампата, свързана към нашия аналогов порт A0, и ако трябва да го преведе в правилната буква.

За да се уверим, че показанията са правилни, ние изчисляваме средно на всеки 20 показания от LED лампата и използваме това число, за да проследим дали светлината е изключена или включена. За да направите това, в началото на програмата задаваме NUM_AVG на броя пъти, когато искаме да провери светлината, преди да я осредни. Колкото по -голям е този брой, толкова по -точно е отчитането, но също така може да причини забавяне.

msBtnPushed представлява времето, през което светлината е била включена. lastPressed е логическо значение, което следи дали в предишния цикъл светлината е била включена.

Стъпка 6: Обработка на входа

Обработка на входа
Обработка на входа
Обработка на входа
Обработка на входа

За тази стъпка ще разгледаме какво да правим, след като измине достатъчно време, за да приемем, че няма да се добавя повече Морс, и трябва да проверим дали Морзето е изпратило писмо и дали е правилно писмо.

За да направим това, трябва да зададем низа wordToGuess на думата, която искаме нашите играчи да познаят. Аз лично имам генератор на произволни числа, който да го настрои на произволна дума в началото, но можете също така просто да го настроите на една дума.

Трябва също така да се уверим, че броячът се издига по един всеки цикъл, в противен случай цялата програма няма да направи нищо. Освен това добавих функцията за забавяне, за да се уверя, че има цикъл на всяка милисекунда.

PS: Всички функции на Serial.println са само за тестване. Те могат да бъдат изтрити след приключване.

GoodTimer и badTimer са просто стойности, ако планирате да използвате Piezo елемент за добавяне на звук. Ако искате да направите това, трябва също да добавите кода във втората картина, който възпроизвежда звуците.

Стъпка 7: Морсинг на правилно отгатнатите букви

Морсинг на правилно отгатнатите букви
Морсинг на правилно отгатнатите букви

Както обещахме преди, в тази стъпка ще направим светлините, които представляват буквите, които са били отгатнати правилно, Морзе тяхната буква.

За тази цел съм написал две функции: morseThis и nextLetter, Той използва числата, които сме задали преди това в нашия масив от таймери и ги променя в зависимост от това коя част от азбуката на Морз в момента блести.

Ако таймерът достигне времето, в което светлината трябва да светне, той просто включва светлината и стартира кода, за да зададе нови таймери за изключване и включване на светлината. Ако таймерът достигне частта, в която светлината трябва да се върне изключен, той изключва светлината и след това настройва кода да представлява следващата част от буквата. Ако няма следваща част, тя се връща към първата част.

Стъпка 8: Преглед на нашата настройка и нулиране

Преглед на нашата настройка и нулиране
Преглед на нашата настройка и нулиране

Разбира се, програмата няма да работи, ако светлините не са настроени на изход и вход. Добавям и генератор на произволни числа, за да добавя дума от списък с думи, които съм сложил в масив, наречен wordsToGuess.

Освен това трябва да добавим функцията за нулиране и да се уверим, че всички стойности са нулирани по подразбиране.

Стъпка 9: Всички променливи в една картина

Всички променливи в една картина
Всички променливи в една картина

И накрая, можете да използвате това, за да проверите дали всички необходими променливи са настроени правилно.

Сега се наслаждавайте на играта Hangman in Morse!

Препоръчано: