Матрица датчиков Reed для запроса шахматной доски
ПРИМЕЧАНИЕ: На этот вопрос ранее не давался ответ в похожих вопросах. Я использую Arduino Mega
Я просмотрел Блог Бергера (схема по этой ссылке), но сломал голову над логикой вашей матрицы датчиков, я ломал голову над этой вещью последние несколько дней.
- Изначально он установил все ряды на ВЫСОКИЙ, а затем сбросил первый ряд на НИЗКИЙ, чтобы сканировать герконовые датчики. Предположим, что все датчики в первом и втором ряду закрыты.
Мой вопрос заключается в том, что поскольку первый ряд установлен на LOW, не будет ли он закорочен, поскольку второй ряд изначально установлен на HIGH?
Кроме того, я использовал ту же матрицу, что и berger, но вместо этого я включил внутренние подтягивающие контакты всех 8 входных контактов, но снова столкнулся с той же проблемой получения короткого замыкания, поскольку если строка 1 установлена на LOW, а строка 2 изначально установлена на HIGH, то один датчик в строке 1 закрыт, и герконовый датчик в строке 2 под датчиком, упомянутым в строке 1, также закрыт. Тогда не получим ли мы короткое замыкание и случайные значения, отображаемые на arduino.
@Roshan, 👍0
Обсуждение2 ответа
Почти все клавиатуры с коммутационной матрицей используют нормально разомкнутые / мгновенные контактные переключатели. Учитывайте это при обсуждении поведения коммутационной матрицы. Ваше первоначальное (текстовое) описание относится к коммутационной матрице, состоящей только из переключателей. Для такой матрицы в любой момент времени может быть замкнут только один переключатель. Это необходимо для предотвращения наложения. Условий, при которых несколько одновременных замыканий переключателей приводят к обнаружению неправильной клавиши. И, в некоторых случаях, предотвращает опасные короткие замыкания.
Добавление диода с прямым смещением к каждому переключателю в матрице предотвращает опасные короткие замыкания. Для конструкции, где одна строка управляется высоким уровнем, а все остальные строки управляются низким уровнем, замыкание двух переключателей в одном столбце может напрямую соединить строку с высоким уровнем со строкой с низким уровнем в матрице переключателей, состоящей только из переключателей. Однако, если обычно смещенный вперед диод поместить последовательно с обоими этими замкнутыми переключателями, только диод, подключенный к строке с высоким уровнем, будет смещен в прямом направлении. Диод, подключенный к строке с низким уровнем, будет смещен в обратном направлении, предотвращая опасные короткие замыкания.
Использование диодов на каждом переключателе обходится дорого. Большинство компьютерных клавиатур не используют этот подход. Вместо этого они используют умные схемы и макеты для предотвращения коротких замыканий и улучшения воспринимаемой производительности. В действительности, почти все компьютерные клавиатуры имеют n-key-roll-over предел. Точка, в которой клавиатура не может обнаружить или различить новую нажатую клавишу, когда другие клавиши уже нажаты.
В качестве наглядного примера поведения диода с прямым и обратным смещением рассмотрим это изображение с сайта allaboutcircuits.com, где диод слева находится в состоянии прямого смещения, а диод справа — в состоянии обратного смещения:
Mega имеет 70 входов, 86, если вы используете 2560 в полной коммутационной плате. Я предлагаю несколько форм-факторов для доступа ко всем контактам на http://www.crossroadsfencing.com/BobuinoRev17
На шахматной доске всегда будет несколько фигур в нескольких рядах и несколько столбцов, нажатых почти до конца игры. Я бы подключил каждую клетку по отдельности, это сильно облегчило бы жизнь. Считывайте порты по 8 контактов за раз, 8 считываний, чтобы считать все 64 клетки.
- Использование аналогового входа для чтения кнопки
- Преобразование строки в массив символов
- Можно ли использовать цифровые контакты в качестве выхода ШИМ?
- Bluetooth-модуль HC-05 не принимает AT-команды
- Объединение кода для нескольких датчиков в одной программе
- Использование модуля JYETech 2.4 Inch LCD Display Screen Module с Arduino?
- Может ли Arduino UNO постоянно хранить код?
- Проблемы с срабатыванием датчика PIR сами по себе
Можете пожалуйста включить схему в ваш вопрос? Из-за диодов ничего не должно закоротить., @Nick Gammon
@Nick Gammon, разве диоды не используются для решения проблемы фантомных активаций? Схема также приведена по ссылке., @Roshan
Сигнал HIGH из строки никуда не может попасть из-за диода. Также эта матрица не будет работать без подтягивающих резисторов., @Gerben
@Gerben о, хорошо. Я понял, но не произойдет ли то же самое с отправленным НИЗКИМ сигналом?, @Roshan
НИЗКИЙ сигнал может пройти через диод и язычок (если он закрыт), чтобы попасть в столбец. Затем он проходит через язычок других рядов (если он закрыт), но затем не может пройти дальше из-за диода. Попробуйте распечатать схему, возьмите несколько маркеров разных цветов, попробуйте разные сценарии и посмотрите, сможете ли вы получить короткое замыкание. Может быть, это поможет понять это., @Gerben
как узнать, что между рядами происходит короткое замыкание?, @jsotola