Скетч RingButtonBox
Скетч RingButtonBox разработан для проверки возможностей использования кольцевой матрицы кнопок в джойстиках.
RingButtonBox позволяет создавать джойстики, поддерживающие:
0 ... 128 логических кнопок.
0 ... 4 хатки 8ми, 4х или 2х позиционных.
0 ... 8 цифровых осей на механических энкодерах с кнопками сброса и / или аналоговых осей на потенциометрах или датчиках Холла (SS495).
RingButtonBox поддерживает использование кольцевой матрицы кнопок на 2 ... 16 пинов, что даёт возможность подключения до 240 физических кнопок. Подробнее о работе кольцевой матрицы кнопок здесь: Кольцевая матрица ( чарлиплексинг кнопок)
Также RingButtonBox поддерживает прямое подключение кнопок к Ардуино, всего до 18 кнопок (больше доступных контактов нет у Arduino Pro Micro).
В совокупности, это даёт возможность подключения до 255 физических кнопок.
Сразу можно подумать, что столько кнопок не нужно, но совсем не обязательно подключать все кнопки!
Кольцевая матрица с большим количеством пинов позволяет упростить разводку кнопок. Можно, например, матрицу с 16 пинами использовать, как две независимые матрицы с 8 контактами ( 56 + 56 = 112 физических кнопок ), или как четыре матрицы с 4 пинами ( 12 + 12 + 12 + 12 = 48 физических кнопок ) итд.
Также можно вместо кольцевой матрицы подключить обычную прямоугольную матрицу кнопок с кремниевыми диодами, размером до 8 x 8 = 64 кнопки. При этом безразлично, к каким контактам подключены ряды и строки прямоугольной матрицы, ведь кольцевая матрица полностью симметрична!
Физические кнопки - это собственно замыкающие контакты кнопок, хаток и энкодеров, на которые мы воздействуем руками.
Из физических кнопок в RingButtonBox формируются логические кнопки джойстика, а также хатки и цифровые оси, которые видит Windows.
Скетч был полностью проверен на макете джойстика.
Проверена работа кольцевой матрицы 5 пинов 20 кнопок:
Также проверено прямое подключение кнопок:
Обратите внимание, для прямого подключения всего лишь 4 кнопок понадобилось целых 5 проводов. Какая неэффективность, по сравнению с кольцевой матрицей!
Также проверены все варианты включения 4 хаток. В качестве кнопок хаток были использованы кнопки кольцевой матрицы.
Ну и конечно же проверено подключение двух энкодеров:
Для подключения к Ардуино двух энкодеров с кнопками сброса достаточно всего лишь 3 проводов!
Видео
Ссылки
Скачать скетч: RingButtonBox.rar
Настройки скетча для кольцевой матрицы
Обсудить: Кольцевая матрица (чарлиплексинг кнопок)
Удачи!
#joystick #ringmatrix #charlieplexing #ringbuttonbox #diy #чарлиплексинг #матрица