DIY Arduino ButtonBox — версия 1

Обычный универсальный баттонбокс. В данный момент поддерживаются до 25 кнопок и до 4 энкодеров.

 

Использованы:

Я использовал Pro Micro потому, что он из коробки поддерживает функционал клавиатуры и джойстика. В принципе, вы можете использовать UNO, перепрошив ему чип ATmega16U2, но этим имеет смысл заниматься, если у вас уже есть ненужный, валяющийся без дела UNO. Во всех других случаях проще использовать Micro или Leonardo.

Схема:

39fb8ed96145a280fd3f6179c16dc34d22e2cd7b

Как видно из схемы, максимум поддерживается до 25 кнопок и до 4х энкодеров. Можно ставить меньше, изменений в скетч вносить при этом не требуется. Например, у меня — 4х2 на переключателях + 4 кнопки + 3 кнопки на энкодерах — итого 15 кнопок. Я их собрал в неполную матрицу 4х4, соответственно она подключена к ногам 21, 20,19,18, 14, 16, 10, 9. Неиспользуемые пины 15 и 8 просто оставляю в воздухе. Думаю, принцип понятен. С энкодерами — аналогично.
На схеме я ради простоты не подключил кнопки энкодеров, их нужно подключать в общую матрицу, как и любые другие кнопки.

Я написал два варианта скетча, один эмулирует клавиатуру, второй — джойстик. Эмуляция клавиатуры может пригодиться, когда, например, ваша игра не поддерживает переназначение клавиш. В этом случае вы можете «обманывать» ее, посылая символы прямо с баттонбокса.

В остальных случаях, проще использовать скетч джойстика. Обратите внимание, что для него нужен Arduino IDE версии не ниже 1.6.6, и библиотека ArduinoJoystickLibrary

Скетчи можно скачать здесь

Реклама

DIY Arduino ButtonBox — версия 1: 8 комментариев

  1. Всегда можно запрограммировать «нажатие» кнопки только на момент смены положения тумблера.
    Но с такими тумблерами всегда возникает нюанс синхронизации их состояния с тем, что считает игра. Например, мы запрограммируем, чтобы срабатывало однократное «нажатие» кнопки только при смене состояния «OFF» -> «ON». Включили питание, контроллер посылает это однократное нажатие, но возможно игра в этот момент еще не запущена. Т.е. в игре нам нужно всегда делать предварительно синхронизацию игрового состояния и физического состояния. При повторном запуске игры (или другой игры) — то же самое, опять нужно засинхрить (перещелкнуть все тумблеры). В общем, такие тумблеры использовать просто не удобно, с (ON)-OFF-(ON) же (незащелкивающимися) все гораздо проще

    Нравится

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s