Проверка работоспособности проводки кнопочной коробки

Я строю окно кнопки flight sim и хотел бы, чтобы кто-то, пожалуйста, проверил мою предлагаемую схему подключения.

Я буду использовать 12 кнопок, 4 поворотных кодера, каждый также с кнопкой и 4 (on)-off-(on) тумблера, а также один дополнительный тумблер для использования в качестве модификатора для кнопок.

schematic

Любые замечания или предложения приветствуются.

, 👍1

Обсуждение

Это не сработает. Линии 4-7 закорочены через линию 9. Матрица работает с кнопками (в основном) - если вы нажмете больше кнопок, она может создать ложную нажатую кнопку (нажатия 7-13, 6-13, 6-12 и 7-12 тоже будут обнаружены как нажатые). Единственный способ-использовать диоды для каждой кнопки и переключателя, @KIIV

@KIIV хороший улов. Я думаю, что только добавление диодов к переключателям уже очень поможет. Нажатие 3 кнопок менее вероятно, чем переключение двух переключателей и нажатие одной кнопки., @Gerben

это матрица кнопок 5x6 ... https://arduinoprosto.ru/q/50869/4x4-matrix-keypad-multiple-inputs-cause-extra-readings ... четыре поворотные кнопки энкодера и тумблер внизу образуют 5-ю колонку., @jsotola

поворотные энкодеры также могут быть частью матрицы ... это зависит от типа кодера и от того, как вы собираетесь использовать кодеры, @jsotola

Я вижу, что рисунок делает его похожим на короткий промежуток между 4-7 и 9, который должен быть прыжком. Я решил просто добавить диоды, их довольно легко добавить, и у меня есть 50 под рукой, так что нет большой проблемы., @Nc Bean


2 ответа


0

Отредактировано, чтобы предложить снизить выходы.

Чтобы использовать мультиплексированную сетку таких переключателей, вам нужно будет написать код, который устанавливает все столбцы для открытия, устанавливает все входные строки в значение INPUT_PULLUP, управляет одним столбцом за раз и сканирует строки на низкий выход, чтобы выяснить, какие кнопки нажаты. (Вы можете поменять местами строки и столбцы или добавить внешние понижающие резисторы и поднять строки/столбцы выше, чем заземлять их, но вы понимаете идею. Вам нужно будет написать код для сканирования сетки кнопок во вложенных циклах.)

,

Вам нужно СНИЗИТЬ уровень столбцов (по одному за раз) и включить в строках подтягивающие резисторы. Если вы хотите, чтобы они были ВЫСОКИМИ, вам нужны (внешние) понижающие резисторы в строках., @Gerben

Просто используйте библиотеку Keypad.h, как и все остальные..., @Majenko

@Gerben да, либо уменьшите их и запустите входы в режиме INPUT_PULLUP, либо уменьшите их и добавьте внешние понижающие резисторы. На схеме не показано ни убирающих, ни убирающих резисторов, поэтому было бы лучше снизить уровень столбцов., @Duncan C


0

Контакты 0 и 1 используются для последовательного подключения, что может затруднить отладку.

Если вы не используете переключатель с тройным переключением, вам не нужны как 9, так и 8. Не считывание переключателя, закрытого на 9, означает, что он должен быть закрыт на 8.

Я бы поменял местами 0 и A0, так что у третьего поворотного кодера есть свои контакты из того же пин-регистра.

Я бы, возможно, добавил резисторы, чтобы, если я случайно определю вывод в качестве вывода, я не замирал при нажатии кнопки.

В зависимости от того, сколько кнопок вы позволяете нажимать одновременно, вам может потребоваться добавить диоды к кнопкам, чтобы предотвратить опрокидывание n-клавиш.

,

и 4 (вкл.)-выкл.-(вкл.) тумблера ..., @Majenko

@Majenko ой! Пропустил это., @Gerben

Мне тоже пришлось дважды взглянуть, чтобы это увидеть ;), @Majenko

Спасибо, что посмотрели, я добавлю диоды в систему, дам отзыв, как только начну пайку :), @Nc Bean