Оглавление:
- Шаг 1: Настройка светодиодной подсветки
- Шаг 2. Добавьте временный датчик освещенности
- Шаг 3. Добавьте свой словарь
- Шаг 4. Включите свет по умолчанию
- Шаг 5: Добавление ввода
- Шаг 6: обработка ввода
- Шаг 7: забывая о правильно угаданных буквах
- Шаг 8: проверка нашей настройки и сброса
- Шаг 9: все переменные в одном изображении
Видео: Arduino Hangman in Morse: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
В этом уроке я покажу вам, как настроить свой собственный Arduino для игры в Hangman, отправив код Морзе с помощью простого фонарика или функции фонарика с вашего телефона.
Все, что вам нужно сделать, это: Плата Arduino, 10 светодиодных ламп, Провода для соединения всего этого. Дополнительно: Пьезоэлемент (для добавления звука).
Шаг 1: Настройка светодиодной подсветки
Эта игра в Морзе будет использовать 4 световых индикатора, чтобы обозначить 4 буквы в слове, которые необходимо угадать, и 5 световых индикаторов, чтобы указать, сколько жизней игроку осталось угадывать, поэтому прежде всего вам нужно будет подключить 9 светодиодов. -светится обычным образом, как видно на картинке.
Шаг 2. Добавьте временный датчик освещенности
Мы не можем бросать деньги в магазины электроники, поэтому я решил сохранить этот проект дешевым, используя простой светодиодный светильник в качестве импровизированного светового датчика.
Все, что вам нужно сделать, это подключить положительную сторону светодиодной лампы к одному из аналоговых портов (в моем случае A0), а отрицательную сторону - к заземлению.
Шаг 3. Добавьте свой словарь
Прежде всего, давайте начнем с добавления своего рода словаря для перевода букв в соответствующие коды Морзе. Для этого мы просто создаем массив размером 26 на 5, причем первый слот каждого вторичного массива имеет букву, а 4 следующих слота имеют соответствующий код Морзе или пробел, если кода не осталось. Так, например, с буквой s в первом слоте есть «s», а во втором, третьем и четвертом слотах - «.» и последний слот есть ''.
Шаг 4. Включите свет по умолчанию
На этом шаге мы убеждаемся, что индикаторы горят после запуска программы, а азбука Морзе буквы, которую они представляют, когда пользователь правильно их угадал (код для этого будет написан на шаге 6). Мы также следим за тем, чтобы световых индикаторов для жизней было столько, сколько жизней осталось у игрока.
Перед этим убедитесь, что у вас есть массив с номерами портов и целыми числами, установленными на 0, чтобы представить время, в которое свет должен включаться, выключаться и какая часть Морзе светится светодиодом.
Шаг 5: Добавление ввода
Теперь мы напишем код, чтобы проверить, светит ли проигрыватель светодиодным индикатором, подключенным к нашему аналоговому порту A0, и должны ли они переводить его на правильную букву.
Чтобы убедиться, что показания верны, мы усредняем каждые 20 показаний светодиодной лампы и используем это число, чтобы отслеживать, включен или выключен свет. Для этого в начале программы мы устанавливаем NUM_AVG на количество раз, которое мы хотим, чтобы он проверял свет перед его усреднением. Чем выше это число, тем точнее показания, но это также может вызвать задержки.
msBtnPushing представляет количество времени, в течение которого свет был включен. lastPressed - это логическое значение, которое отслеживает, был ли свет в предыдущем цикле включен.
Шаг 6: обработка ввода
На этом шаге мы посмотрим, что делать, когда пройдет достаточно времени, чтобы предположить, что больше не будет добавляться Морс, и нам нужно проверить, отправил ли Морс в форме письмо и правильное ли это письмо.
Для этого нам нужно установить в строке wordToGuess слово, которое игроки должны угадать. У меня лично есть генератор случайных чисел, который вначале устанавливает случайное слово, но вы также можете просто установить его на одно слово.
Нам также нужно следить за тем, чтобы счетчик увеличивался на единицу в каждом цикле, иначе вся программа ничего не сделает. Кроме того, я добавил функцию задержки, чтобы гарантировать цикл каждую миллисекунду.
PS: Все функции Serial.println предназначены только для тестирования. По завершении они могут быть удалены.
GoodTimer и badTimer - это просто значения, если вы планируете использовать элемент Piezo для добавления звука. Если вы хотите сделать это, вы также должны добавить код на втором рисунке, который воспроизводит звуки.
Шаг 7: забывая о правильно угаданных буквах
Как и было обещано ранее, на этом этапе мы сделаем огни, которые представляют буквы, которые были угаданы правильно, Морзе их буквы.
Для этого я написал две функции: morseThis и nextLetter. Она использует числа, которые мы ранее установили в нашем массиве таймеров, и изменяет их в зависимости от того, какая часть кода Морзе светится в данный момент.
Если таймер достигает времени, в которое должен загореться свет, он просто включает свет и запускает код для установки новых таймеров, чтобы выключить и снова включить свет. выключено, он выключает свет, а затем устанавливает код, представляющий следующую часть буквы. Если следующей части нет, она сбрасывает ее на первую.
Шаг 8: проверка нашей настройки и сброса
Конечно, программа не запустится, если индикаторы не настроены на вывод и ввод. Я также добавляю генератор случайных чисел, чтобы добавить слово из списка слов, которые я поместил в массив с именем wordsToGuess.
Кроме того, мы должны добавить функцию сброса и убедиться, что все значения сброшены на значения по умолчанию.
Шаг 9: все переменные в одном изображении
Наконец, вы можете использовать это, чтобы проверить, правильно ли настроены все необходимые переменные.
Теперь наслаждайтесь игрой в палача в Морзе!
Рекомендуемые:
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Играйте в Doom на своем IPod за 5 простых шагов !: 5 шагов
Играйте в Doom на своем IPod за 5 простых шагов!: Пошаговое руководство по двойной загрузке Rockbox на iPod, чтобы играть в Doom и десятки других игр. Это действительно легко сделать, но многие люди до сих пор удивляются, когда видят, как я играю дум на своем iPod, и путаются с инструкциями
Кормушка для рыбы Arduino Uno за 6 простых и простых шагов !: 6 шагов
Arduino Uno Fish Feeder за 6 простых и дешевых шагов !: Итак, для этого проекта может потребоваться немного предыстории. Людям с домашними рыбками, вероятно, приходилось сталкиваться с той же проблемой, что и мне: отпуск и забывчивость. Я постоянно забывала покормить рыбу и всегда старалась это сделать, пока она не упала
Акустическая левитация с Arduino Uno, шаг за шагом (8 шагов): 8 шагов
Акустическая левитация с Arduino Uno Пошаговая инструкция (8 шагов): ультразвуковые преобразователи звука L298N Женский адаптер питания постоянного тока с штыревым контактом постоянного тока Arduino UNOBreadboard Как это работает: сначала вы загружаете код в Arduino Uno (это микроконтроллер, оснащенный цифровым и аналоговые порты для преобразования кода (C ++)