GO63 Опубликовано: 21 июля 2023 Опубликовано: 21 июля 2023 Всем привет! Кольцевая матрица (чарлиплексинг кнопок) позволяет увеличить количество кнопок в несколько раз, по сравнению с прямоугольной матрицей. Кольцевая матрица позволяет создать джойстик с большим количеством кнопок без дополнительных микросхем. Я проверил, можно ли применить чарлиплексинг кнопок в джойстике: 5 1 1
GO63 Опубликовано: 22 июля 2023 Автор Опубликовано: 22 июля 2023 Продолжаем разговор (всё ещё монолог). С помощью N контактов (проводов) к Ардуино можно подключить: до N-1 кнопок (-1 - это провод GND) - для прямого (линейного) подключения кнопок. до N*N/4 кнопок - для прямоугольной матрицы. до N*(N-1) кнопок - для кольцевой матрицы. Насколько велика разница, показывает следующая таблица. Впечатляющий результат! Для проверки возможностей использования кольцевой матрицы кнопок в джойстиках разработан скетч RingButtonBox. Cкетч RingButtonBox позволяет создать джойстик на Arduino Pro Micro без дополнительных микросхем, поддерживающий: 0 ... 128 логических кнопок. 0 ... 4 хатки 8ми, 4х или 2х позиционных. 0 ... 8 осей на механических энкодерах с кнопками сброса и / или на потенциометрах или датчиках Холла (SS495). Подробнее о Кольцевой матрице и о скетче RingButtonBox: https://sites.google.com/site/diyheadtracking/home/ringmatrix Удачи! Страница переехала: https://sites.google.com/site/diyheadtracking/home/joystick/ringmatrix 3 1
Johnet Опубликовано: 23 июля 2023 Опубликовано: 23 июля 2023 Небольшое но. Вот выше показана схема для пяти выводов, и 20 кнопок. Она уже с трудом размещается на двухслойной плате. Придется делать переходы с одной стороны на другую для некоторых дорожек. При увеличении числа кнопок Матрица будет еще усложняться. На каком то этапе ее нельзя будет сделать на двухслойной плате. И, мне кажется, что этот момент наступит уже при следующей схеме в 30 кнопок. К тому же как вот эту вот звезду развернуть в схему с расположением кнопок стандарнтым квадратно-гнездовым методом.
-DED-Ron Опубликовано: 23 июля 2023 Опубликовано: 23 июля 2023 Это всё просто замечательно, но тут уже и выше 64й кнопки игра не видит, ей до 128 хотя б дорасти...
GO63 Опубликовано: 23 июля 2023 Автор Опубликовано: 23 июля 2023 Про усложнение разводки всё верно. Я об этом написал. Разводку может облегчить перестановка местами диодов с кнопками, а также неполное использование матрицы. Если взять для матрицы контактов побольше, то вместо одной большой можно подключить две или три матрицы поменьше, их развести проще. PCB для 20 кнопок вполне разводится даже в одном слое, как на видео. Цитата Это всё просто замечательно, но тут уже и выше 64й кнопки игра не видит, ей до 128 хотя б дорасти... Согласен, супернавороченные джои с кучей кнопок берутся делать только новички и обычно дело бросают на половине дороги. Поддержка большой матрицы нужна как раз для облегчения разводки кнопок.
Johnet Опубликовано: 24 июля 2023 Опубликовано: 24 июля 2023 19 часов назад, GO63 сказал: для облегчения разводки кнопок. Нужны сдвиговые регистры ?
GO63 Опубликовано: 30 июля 2023 Автор Опубликовано: 30 июля 2023 24.07.2023 в 15:30, Johnet сказал: Нужны сдвиговые регистры ? Да это известный и хороший способ. А я предложил ещё один малоизвестный и отличный способ. "Больше товаров - хороших и разных!" 1
Nalex73 Опубликовано: 11 июля Опубликовано: 11 июля Можно ли как-то совместить этот скетч со скетчем тензоджойстика? Я в программировании совсем новичок.... 1
GO63 Опубликовано: 15 июля Автор Опубликовано: 15 июля Можно. Cкетч RingTenzoJoy - джойстик с РУС на четырёх или трёх весовых датчиках. Четыре или три весовых датчика могут быть установлены на основании "звездой", "квадратом" или "треугольником", с любым углом поворота вокруг вертикальной оси. Используются два или три модуля HX711. В скетче можно задать от 2 до 8 осей, от 0 до 128 кнопок и от 0 до 4 хаток. Две оси на тензодатчиках, остальные оси аналоговые или на энкодерах. Дополнительно можно задать управление загрузкой от аналогового потенциометра "softstick-hardstick" и две полезные кнопки "Center" и "Trimmer". Предусмотрено подключение кнопок как напрямую к контактам Ардуино, так и через кольцевую матрицу кнопок. Можно использовать вместо кольцевой обычную прямоугольную матрицу с кремниевыми диодами 1N4148 (КД522), с pull-up резисторами 2кОм на всех контактах разъёма матрицы. Сейчас скетч настроен на создание такого джойстика: Оси X и Y на трёх тензобалках (три модуля HX711) Ось Z аналоговая, потенциометр подключен к A2 Оси RX и RY цифровые на энкодерах, диапазон -10 ... +10, подключены к кольцевой матрице Одна 8-позиционная хатка подключена к кольцевой матрице Ещё 6 кнопок также подключены к кольцевой матрице Сама кольцевая матрица подключена к контактам ProMicro 8, 9, 14, 15, 16 Потенциометр "softstick-hardstick" подключен к A3 Кнопки "Center" и "Trimmer" подключены напямую к ProMicro, к контактам 6 и 7 Между контактами A1 и GND подключен светодиод через резистор 510 Ом, для индикации режимов калибровки нуля при включении, а также режимов "Center" и "Trimmer" Сейчас в джойстике 5 осей, 6 кнопок и 1 хатка и ещё служебные ось "softstick-hardstick" и кнопки "Center" и "Trimmer" Скачать: RingTenzoJoy.rar 1 1
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас