Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


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

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

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

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

Описание

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

Где купить?

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

Arduino Membrane Keypad 1.jpg

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

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

How-it-works-keypad.jpg

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

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

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

Схема

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

Membrane-keyboard-arduin-tutorial-schematics.png

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

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

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

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

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

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

  1. #include "Keypad.h"
  2.  
  3. const byte ROWS = 4;  //  количество рядов
  4. const byte COLS = 3;  //  количество столбцов
  5. char keys[ROWS][COLS] = {
  6. {'1','2','3'},
  7. {'4','5','6'},
  8. {'7','8','9'},
  9. {'#','0','*'}
  10. };
  11.  
  12. byte rowPins[ROWS] = {8, 7, 6, 5};  //  контакты для рядов:
  13.                                     //  R1 = D8, R2 = D7,
  14.                                     //  R3 = D6, R4 = D5
  15. byte colPins[COLS] = {4, 3, 2};     //  контакты для столбцов:
  16.                                     //  C1 = D4, C2 = D3, C3 = D2
  17. Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
  18.  
  19. void setup()
  20. {
  21.   Serial.begin(9600);
  22. }
  23.  
  24. void loop()
  25. {
  26.   char key = keypad.getKey();
  27.   if (key != NO_KEY)
  28.     Serial.println(key);
  29. }

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

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

Serial-monitor-with-arduino-and-keypad.jpg

См.также

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

  1. randomnerdtutorials.com - Arduino Membrane Keypad Tutorial