Оглавление:
- Запасы
- Шаг 1. Код и планирование
- Шаг 2: клавиатура
- Шаг 3: ЖК-экран
- Шаг 4: Окончательный (грубый) рабочий продукт
- Шаг 5: все навороты
Видео: Ленивый 301 Dart Buddy !: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Я и мои соседи по комнате в колледже недавно унаследовали битую доску для дартса …
Мы начали изучать такие игры, как 301, в которых каждый игрок начинает с 301 очка, и в течение нескольких раундов он набирает до нуля очков. Это было весело, однако писать на (маленькой) доске рядом с доской занимало много времени и мешало следующему игроку стрелять до тех пор, пока предыдущий игрок не ушел с дороги.
Итак, я подумал, что будет забавным послеобеденным проектом собрать калькулятор на базе Arduino, который мог бы нам помочь.
Примерно через час у меня был черновой рабочий прототип на макете. Однако, потратив пару часов работы, я снял макетную плату и прикрепил все к дешевой коробке, которую я повесил на стену.
Запасы
Ардуино Нано
Любые дешевые версии Adafruit / Amazon следующего:
ЖК-экран 16x2
Клавиатура
Потенциометр (разные резисторы подойдут)
Разные перемычки папа-папа, мужчина-женщина, женщина-женщина
Пьезо-динамик
Макетная плата
Шаг 1. Код и планирование
Код был чрезвычайно простым и простым. Я не собирался делать здесь ничего особенного, так как это был быстрый проект, но вы можете поиграть с кодом по своему вкусу. Я планировал игру от одного до четырех игроков.
Я написал функцию Arduino для четырех игроков. Я назвал это «game4p». Затем я скопировал и вставил его еще три раза и переименовал функции «game1P», «game2P» и т. Д. И соответственно удалил лишний код. Основная идея заключалась в следующем:
1) Распечатайте результаты, попросите игрока 1 уйти
2) Когда игрок вводит счет, переходите к следующему игроку, если он есть.
3) повторяйте (2), пока все игроки не уйдут, затем начните с (1)
4) если счет игрока достигает нуля, завершить игру и запросить новую игру.
Вы можете посмотреть на код, чтобы увидеть, как я справился с такими вещами, как
-Ввод в клавиатуру
-Обеспечение хорошего ввода
-Разрешить как сложение, так и вычитание, используя нижнюю левую и правую клавиши соответственно
Шаг 2: клавиатура
Для ввода я использовал дешевую клавиатуру.
Библиотека клавиатуры Arduino позаботится обо всех крутых закулисных вещах, красиво объясненных здесь. В основном вам нужен один вывод на строку и один вывод на столбец на вашем Arduino.
В моем случае я использовал нижнюю правую клавишу для запуска действия вычитания (чтобы вычесть ваш счет из 301) и нижнюю левую клавишу для сложения (в случае, если кто-то напутает, игра не будет испорчена). Нажатие этих клавиш без ввода номера просто переходит к следующему игроку.
После пары минут игры с последовательным монитором и предоставленным примером кода, который поставляется с библиотекой клавиатуры, я был готов интегрировать ЖК-экран для отображения нажатий клавиш.
Шаг 3: ЖК-экран
И снова в arduino есть встроенная библиотека для этого компонента. ЖК-библиотека обрабатывает все махинации, которые используют ЖК-экраны. Здесь можно найти отличный ресурс по распиновке. Все ЖК-экраны, которые я когда-либо использовал, имеют одинаковую распиновку, описанную в этой ссылке.
На момент создания чернового прототипа мне не удалось найти потенциометр, который нужен для регулировки контрастности текста на экране с подсветкой (необходим для вывода 3). Поэтому я использовал кучу резисторов, чтобы создать делитель напряжения, и исследовал то место, которое показалось мне разумным.
После еще пары минут возни с серийным монитором, я был готов собрать все воедино!
Шаг 4: Окончательный (грубый) рабочий продукт
Вот видео макета продукта в действии. Все работает как положено.
Вы можете остановиться здесь после часа работы, или вы можете потратить еще несколько часов и упаковать его, чтобы он выглядел (немного) лучше, как я …
Шаг 5: все навороты
Нет, это не бомба. Это выглядит довольно грубо, но выполняет свою работу!
Я добавил динамик для приятной обратной связи, соответствующей хорошим / плохим нажатиям клавиш. Имея небольшую пластиковую коробку и несколько стяжек, я смог упаковать эту вещь и повесить ее на стену!
Спасибо за прочтение, пожалуйста, оцените и рассмотрите возможность голосования за меня в «1 Hour Challenge», в котором представлен этот прогноз.
Не стесняйтесь задавать вопросы в комментариях!
Рекомендуемые:
Ленивый 7 / Один: 12 шагов (с изображениями)
Lazy 7 / One: Lazy 7 / One Особенности / инструкции такие же, как и в других проектах, основанных на том же эскизе, вот еще одно видео (также связанное с инструкциями эскиза на шаге 10) .Обновление - 2020/07/30 Разделение корпуса электроники STL и добавил еще одну обложку (B)
Bluetooth Kbd и мышь Engineers Buddy: 3 шага
Engineers Buddy Bluetooth Kbd and Mouse: USB-модуль эмулятора клавиатуры и мыши Engineers Buddy. Это удобное маленькое устройство с подключением «голубой зубец» превращает ваш телефон / планшет Android в беспроводной пульт дистанционного управления для любого компьютера. Это дает вашему устройству Android контроль над всеми HID-комп
Arduino Bread Board Buddy: 12 шагов
Arduino Bread Board Buddy: я собираю все схемы на макетной плате; однако создание одной и той же схемы сто раз может оказаться однообразным, поэтому мне нравятся модульные детали для создания прототипов. Большинство схем, таких как блоки питания на 5 вольт, довольно стандартны. Хлебная доска Budd для Arduino
Говорящий датчик температуры и влажности - Si7021 и Little Buddy Talker: 3 шага
Говорящий датчик температуры и влажности - Si7021 и Little Buddy Talker: "Little Buddy Talker" - это небольшое устройство, которое позволяет добавлять простой голосовой вывод в ваши проекты Arduino. Он содержит ограниченный набор из 254 слов и может быть подключен к Arduino или другим микроконтроллерам через SPI. Маленький приятель Т
Говорящее устройство для измерения УФ-индекса с использованием датчика VEML6075 и Little Buddy Talker: 5 шагов
Говорящий прибор для измерения УФ-индекса, использующий датчик VEML6075 и Little Buddy Talker: приближается лето! Солнце светит! И это здорово. Но по мере того, как ультрафиолетовое (УФ) излучение становится все более интенсивным, у таких людей, как я, появляются веснушки, маленькие коричневые островки, плавающие в море красной, загорелой и зудящей кожи. Возможность получать информацию в реальном времени