Оглавление:

Пример шкафчика с матричной клавиатурой Arduino 4x4: 6 шагов
Пример шкафчика с матричной клавиатурой Arduino 4x4: 6 шагов

Видео: Пример шкафчика с матричной клавиатурой Arduino 4x4: 6 шагов

Видео: Пример шкафчика с матричной клавиатурой Arduino 4x4: 6 шагов
Видео: МК. Работа с матричной клавиатурой 2024, Июль
Anonim
Пример шкафчика с матричной клавиатурой Arduino 4x4
Пример шкафчика с матричной клавиатурой Arduino 4x4

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 с лестничным программированием:

Использование LDmicro с лестничным программированием
Использование LDmicro с лестничным программированием
Использование LDmicro с лестничным программированием
Использование LDmicro с лестничным программированием
Использование LDmicro с лестничным программированием
Использование 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:

Использование Arduino IDE 1.8.x с Mightycore и SMlib
Использование 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, и сравните с правильным

Если уж точно не выйдет.

Спасибо всем интересным обучающим материалам в сети.

Рекомендуемые: