
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

2 способа управления клавиатурой с 16 кнопками с минимумом контактов.
Шаг 1. Введение
Недавно я работал над способом управления матрицей сенсорной клавиатуры 4x4, подключенной к клону Arduino. Заданные значения были:
-использовать только 4 + 1 пин вместо 8 пин на atmega328p
-добавить LCD Display 4x20 CHAR link через I2C (2 контакта)
-для управления цифровыми и аналоговыми выходами.
Итак, есть много вещей, которые нужно контролировать с помощью большого количества операций ввода-вывода.
Шаг 2: что использовать:

Я купил ЖК-дисплей 4x20 символов и адаптер модуля I2C для подключения дисплея к контактам SDA (A4) и SCL (A5) на моем клоне Arduino.
Я использую знаменитый, а теперь уже устаревший MM74C922N: преобразователь с 8 на 4 способа подходит для матричной клавиатуры 4x4.
Я создал клон arduino на основе atmega328p и запрограммировал его через разъем HE10 (шина SPI) и кабель USBasp.
Шаг 3: Схема и плата:


Доска состоит из:
-ЖК-клавиатура используется только с Arduino IDE, невозможна с LDmicro (лестничное программирование)
-плата MM74C922N: 16 кнопок, закодированных на 16 двоичных значениях на 4 битах DCBA. При нажатии кнопки: загорается синий светодиод, и на DCBA появляется значение (A - младший бит). Когда кнопка отпускается: синий светодиод гаснет, и значение на DCBA сбрасывается до нуля.
- плата-клон Arduino atmega238p.
Шаг 4: Использование LDmicro с лестничным программированием:



Код для ввода состоит из 4 значений из 16 значений, нажатых клавишами, то есть комбинаций 16x16x16x16.
После того, как вы нарисуете SFC, вам нужно будет перевести его в ЛЕСТНИЦУ с помощью метода, приведенного в одном из моих
инструкции:
www.instructables.com/id/Arduino-tomation-…
После ввода скомпилируйте его как xxxx.hex, а затем загрузите с помощью загрузчика KHAZAMA.
ЖК-дисплей не может быть запрограммирован на LDmicro.
Я передаю LDmicro zip со скетчем SERRURE.id в нем и загрузчиком KHAZAMA.
Шаг 5: Использование Arduino IDE 1.8.x с Mightycore и SMlib:

Я перевожу SFC в конечный автомат. Затем я использовал Arduino IDE с библиотекой Mightycore и SM внутри.
На ЖК-дисплее отображается сообщение типа: ERROR, WAITING, UNLOCK, состояние достигнуто, значение нажатой клавиши.
Я даю вам скетч и SM lib. Для Mightycore посмотрите на это:
www.instructables.com/id/Arduino-18x-Clone…
Шаг 6: В заключение:
Это два способа управления клавиатурой 16, и мне потребовалось несколько часов, чтобы найти подходящую последовательность, но теперь она работает нормально. Вы должны соблюдать эти шаги:
-1 обнаруживает нажатие клавиши на переднем фронте вывода DA
-2 прочтите значение, сгенерированное на DCBA, и сравните с правильным
Если уж точно не выйдет.
Спасибо всем интересным обучающим материалам в сети.
Рекомендуемые:
Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: 3 шага

Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: еще один пример использования матричной ЖК-клавиатуры 4x4 со схемой I2C
Калькулятор Arduino DIY с ЖК-дисплеем 1602 и клавиатурой 4x4: 4 шага

Калькулятор Arduino DIY с ЖК-дисплеем 1602 и клавиатурой 4x4: Привет, ребята, в этой инструкции мы сделаем калькулятор на Arduino, который может выполнять основные вычисления. Итак, в основном мы будем вводить данные с клавиатуры 4x4 и распечатывать данные на ЖК-дисплее 16x2, а Arduino выполнит вычисления
Напоминание о закрытии шкафчика (Arduino): 5 шагов

Напоминание о закрытии шкафчиков (Arduino): это устройство используется для напоминания учащимся в школе о необходимости закрыть свои шкафчики. Лично я отношусь к тому типу людей, которые часто забывают закрыть дверь своего шкафчика, когда я ухожу. Это напоминание о закрытии шкафчика работает благодаря датчику освещенности для управления LE
Проект цифрового кодового замка Arduino с использованием матричной клавиатуры: 9 шагов

Проект цифрового кодового замка Arduino с использованием матричной клавиатуры: создайте устройство цифрового кодового замка с системой Arduino и Qwiic, используя Zio M Uno и матричную клавиатуру Hex 4x3. Обзор проекта Для этого проекта мы создадим простой цифровой кодовый замок, который пользователи могут вводить и нажимать дюйм. В этом уроке мы покажем использование
Создание собственной мембранно-матричной клавиатуры (и подключение ее к Arduino): 7 шагов (с изображениями)

Создайте собственную мембранно-матричную клавиатуру (и подключите ее к Arduino): Итак, вы хотите создать свою собственную мембранную клавиатуру? Почему? Что ж, создание собственной клавиатуры может быть полезно по многим причинам. Это дешево и легко сделать, его можно использовать в ситуациях, когда его могут вандализировать или украсть без особого разочарования. Это может быть полностью