Оглавление:

Ленивый 301 Dart Buddy !: 5 шагов
Ленивый 301 Dart Buddy !: 5 шагов

Видео: Ленивый 301 Dart Buddy !: 5 шагов

Видео: Ленивый 301 Dart Buddy !: 5 шагов
Видео: Игра в дартс № 23 - 301 / darts game 301 2024, Июль
Anonim
Ленивый 301 Дарт Бадди!
Ленивый 301 Дарт Бадди!
Ленивый 301 Дарт Бадди!
Ленивый 301 Дарт Бадди!
Ленивый 301 Дарт Бадди!
Ленивый 301 Дарт Бадди!

Я и мои соседи по комнате в колледже недавно унаследовали битую доску для дартса …

Мы начали изучать такие игры, как 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: все навороты

Image
Image

Нет, это не бомба. Это выглядит довольно грубо, но выполняет свою работу!

Я добавил динамик для приятной обратной связи, соответствующей хорошим / плохим нажатиям клавиш. Имея небольшую пластиковую коробку и несколько стяжек, я смог упаковать эту вещь и повесить ее на стену!

Спасибо за прочтение, пожалуйста, оцените и рассмотрите возможность голосования за меня в «1 Hour Challenge», в котором представлен этот прогноз.

Не стесняйтесь задавать вопросы в комментариях!

Рекомендуемые: