Подключение матричной мембранной клавиатуры к Arduino

В этой статье расскажу как работает матричная мембранная клавиатуру и приведу простой пример подключения клавиатуры к Arduino с отображением нажатий клавиш на последовательном мониторе.

Технические параметры:

► Разъём: PLS-8;
► Тип шлейфа: плоский, гибкий, 8 pin;
► Длина шлейфа: 75 мм;
► Размер: 77×69×2 мм;
► Масса: 7 г.

Обзор матричной мембранной клавиатуры

В статье пойдет речь о матричной мембранной клавиатуре на 4×4. Так же существуют клавиатуры 4 × 3, 4 × 1 и другие, в не зависимости от размера, все они работают одинаково. Как видно из фото, на передней части располагается сами кнопки, а на обратной стороне приклеена липкая основа, которая позволяет приклеить клавиатуру к любой поверхности.

Принцип работы матричная клавиатура

В матричной мембранной клавиатуре 4 x 4 (4 столбца и 4 строки) содержится 16 кнопок, под каждой кнопкой находится мембранная переключатель. Все эти кнопки соединены с друг другом, образуя матрицу 4 × 4, это позволило уменьшит количество используемых выводов для подключения к микроконтроллеры (Arduino) с 17 контактов до 8 контактов.

Принцип работы очень простой, при нажатие кнопки замыкается контакт между столбцом и строкой, между ними начинает течь ток. Например, при нажатии клавиши «4» происходит короткое замыкание столбца 1 и строки 2. Схема клавиатуры 4 x 4 показана на рисунке ниже.

Подключение матричной мембранной клавиатура к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Матричная мембранная клавиатура 4х4, 16 кнопок x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-F x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
Теперь приступим к сборке схемы, подключим контакта 1 клавиатуры к цифровому контакту 9 на Arduino. Далее необходимо подключить все остальные контакты 2 с 8 и так далее.

Установка библиотек:
В данном примере используем одну библиотеку «Keypad.h» скачать ее можно с «Менеджер библиотек» или в конце статьи.

В строке поиска вводим «Keypad» находим библиотеку «Keypad by Mark Stanley» и устанавливаем ее.

Программа:
Пример простой, копируем или скачиваем и загружаем в Arduno.

#include <Keypad.h>    // Подключение библиотеки Keypad

const byte ROWS = 4;   // Количество рядов 
const byte COLS = 4;   // Количество строк 

char keys[ROWS][COLS] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6}; // Выводы, подключение к строкам
byte colPins[COLS] = {5, 4, 3, 2}; // Выводы, подключение к столбцам  

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup()
{
  Serial.begin(9600); // Открываем последовательную связь на скорости 9600
}
  
void loop(){
  char key = keypad.getKey();  // Читаем состояние кнопок
   if (key){
    Serial.print("Key Pressed : ");
    Serial.println(key);
  }
}

  Скачать скетч

Загрузите скетч и откройте «Последовательный монитор» из Arduino IDE. 

Описание скетча:
Скетч начинается с включения библиотеки Keypad.h и определения количества строк и столбцов на клавиатуре, которую вы хотите использовать.

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4; 

Затем создаем массив keys[ROWS][COLS] клавиатуры, который содержит символы, которые будут напечатаны при нажатии определенной кнопки на клавиатуре.

char keys[ROWS][COLS] = {
  {'1','2','3','4'},
  {'5','6','7','8'},
  {'9','0','+','-'},
  {'.','*','/','='}
};

Далее мы создаем объект библиотеки с питьями параметрами.

Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

►  <strong>makeKeymap(keys)</strong> — инициализирует внутреннюю раскладку клавиатуры.
►  rowPins и  colPin s — передаем данные о подключённых выводах строк и столбцов.
►  WSи  COLS — передаем данные о количество строк и столбцов клавиатуры.

Далее, командой getKey() проверяем какая клавиша нажата, и есть кнопка нажата передаем ее в последовательный порт

 char key = keypad.getKey();  
   if (key){
    Serial.print("Key Pressed : ");
    Serial.println(key);
  }

Ссылки
  Библиотека Keypad.h

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Комплект проводов DuPont, 2,54 мм, 20 см
  Матричная мембранная клавиатура 1×4, 4×4, 4х3

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *