Arduino:Примеры/Гайд по использованию мембранной клавиатуры с Arduino

Материал из Онлайн справочника
Версия от 21:41, 21 апреля 2017; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Гайд по использованию мембранной клавиатуры с Arduino[1]

Еще одним устройством, при помощи которого можно взаимодействовать с микроконтроллером Arduino, является клавиатура. Такую клавиатуру можно достать, к примеру, разобрав старый телефон или просто купив в магазине электротехники.

Клавиатуры бывают разных форм и размеров. Самые распространенные – это с расположением кнопок 3х4 или 4х4. В продаже есть также клавиатуры с кнопками не только для цифр, но также для букв и даже слов.

Вы даже можете создать свою собственную клавиатуру.

Описание

Такие клавиатуры очень популярны среди тех, кто занимается проектами на базе Arduino. Они очень дешевые, и их можно использовать вместе с любым микроконтроллером.

Где купить?

Купить клавиатуру можно на eBay (к примеру, тут), и она обойдется вам всего в пару долларов.

Как это работает?

Мембранная клавиатура – это матрица, состоящая из кнопок, расположенных рядами и столбцами. Таким образом, каждая кнопка находится в каком-нибудь столбце или ряду (см. картинку ниже). 12-кнопочная клавиатура состоит из 4 рядов и 3 столбцов. Цифра «1» стоит на перекрестии 1 ряда и 1 столбца (Р1С1), «2» – это Р1С2, «3»Р1С3, «звездочка»Р4С1, «9»Р3С3 и т.д.

Необходимые компоненты

Для нашего проекта понадобятся следующие компоненты:

  • Одна плата Arduino (см. на eBay)
  • Одна мембранная клавиатура (см. на eBay)
  • Провода-перемычки

Схема

Подсоедините эти компоненты друг к другу как показано на картинке ниже. Если ваша клавиатура выглядит по-другому, то подключите ее согласно информации из ее даташита (его можно найти в сети или спросить у продавца).

Установка библиотеки

Для нашего проекта понадобится библиотека «Keypad». Чтобы установить ее, выполните следующее:

  • Загрузите отсюда ZIP-архив с библиотекой.
  • Распакуйте ZIP-архив.
  • Установите библиотеку в IDE Arduino, переместив распакованную папку в папку «libraries» IDE Arduino.
  • Перезапустите IDE Arduino.

Загрузка кода

Если ваша клавиатура не работает с кодом ниже, то ее нужно подключить не так, как на картинке выше, а в соответствии с даташитом. Даташит можно найти в сети или спросить у продавца, у которого вы купили свою клавиатуру.

Примечание: Если у вашей клавиатуры другое количество клавиш, вам нужно будет поменять значения во 3-ей и 4-ой строчках кода. Кроме того, после этого нужно будет поменять значения в массиве, который расположен на строчках с 5-ой по 10-ую.

#include "Keypad.h"

const byte ROWS = 4;  //  количество рядов
const byte COLS = 3;  //  количество столбцов
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};

byte rowPins[ROWS] = {8, 7, 6, 5};  //  контакты для рядов: 
                                    //  R1 = D8, R2 = D7, 
                                    //  R3 = D6, R4 = D5
byte colPins[COLS] = {4, 3, 2};     //  контакты для столбцов:
                                    //  C1 = D4, C2 = D3, C3 = D2
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  char key = keypad.getKey(); 
  if (key != NO_KEY)
    Serial.println(key);
}

Демонстрация

Если все подключено правильно, то при нажатии на определенную клавишу клавиатуры она будет показана в мониторе порта IDE Arduino. В итоге должно получиться примерно следующее:

См.также

Внешние ссылки