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

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

Реклама

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s