Arduino:Примеры/Гайд по использованию мембранной клавиатуры с Arduino
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Гайд по использованию мембранной клавиатуры с 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. В итоге должно получиться примерно следующее:
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino