Используйте клавиатуру с вашим Arduino
Клавиатуры позволяют пользователям вводить данные во время работы программы. В этом руководстве показано, как подключить клавиатуру с двенадцатью кнопками к Arduino и как использовать библиотеку Keypad.h.
Для обеспечения ввода в систему Arduino часто требуется клавиатура, а мембранные клавиатуры являются экономичным решением для многих приложений. Они довольно тонкие и могут легко монтироваться там, где они нужны.
В этом уроке мы демонстрируем, как использовать 12-кнопочную цифровую клавиатуру, аналогичную тому, что вы можете найти на телефоне. Клавиатура с 12 кнопками имеет три столбца и четыре ряда. Нажатие кнопки приведет к кратковременному выходу одного из выходов строки в один из выходов столбца. Из этой информации Arduino может определить, какая кнопка была нажата. Например, при нажатии клавиши 1 столбец 1 и строка 1 замыкаются. Arduino обнаружит это и добавит 1 к программе.
Как строки и столбцы расположены внутри клавиатуры, показано на рисунке ниже.

эксперимент
Для этого эксперимента мы демонстрируем библиотеку «keypad.h» Arduino. Когда пользователь нажимает кнопку на клавиатуре, программа отображает значение последовательного монитора.
Необходимое оборудование ·
- Arduino Mega 2560
- Шестигранная клавиатура 3x4
- перемычки (необязательно)
- макет (по желанию)
- длинные контакты
Схема подключения
Подключите клавиатуру к Arduino, как показано ниже.

Код
/* the tutorial code for 3x4 Matrix Keypad with Arduino is as This code prints the key pressed on the keypad to the serial port*/ #include "Keypad.h" const byte Rows= 4; //number of rows on the keypad ie 4 const byte Cols= 3; //number of columns on the keypad i, e, 3 //we will definne the key map as on the key pad: char keymap(Rows)(Cols)= { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; // a char array is defined as it can be seen on the above //keypad connections to the arduino terminals is given as: byte rPins(Rows)= {A6, A5, A4, A3}; //Rows 0 to 3 byte cPins(Cols)= {A2, A1, A0}; //Columns 0 to 2 // command for library forkeypad //initializes an instance of the Keypad class Keypad kpd= Keypad(makeKeymap(keymap), rPins, cPins, Rows, Cols); void setup() { Serial.begin(9600); // initializing serail monitor } //If key is pressed, this key is stored in 'keypressed' variable //If key is not equal to 'NO_KEY', then this key is printed out void loop() { char keypressed = kpd.getKey(); if (keypressed != NO_KEY) { Serial.println(keypressed); } }
Скачать код
Вывод
Это очень простой пример, но я думаю, вы можете понять, как легко получить ввод клавиатуры в вашу программу Arduino. Вы можете использовать этот тип ввода для многих разных проектов, в том числе:
- Замок
- Входной ШИМ
- Будильник
- Защитный замок
видео
Попробуйте этот проект сами! Получить спецификацию.