// LCD ДИСПЛЕЙ 16х2
#include <Keypad.h> // Библиотека клавиатуры
#include <LiquidCrystal.h> // Библиотека дисплея
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 CustomKeypad = Keypad(makeKeymap(Keys), RowPins, ColPins, ROWS, COLS);
LiquidCrystal Lcd(A0, A1, A2, A3, A4, A5); // Подключение дисплея (RS, E, D4, D5, D6, D7)
void setup() {
Serial.begin(9600);
Lcd.begin(16, 2); // Задан дисплей 16 символов 2 строки
Lcd.setCursor(0, 0); // Курсор в 0 символе 0 строки
Lcd.write("APTEMbEB C.H."); // Вывод надписи на дисплей
}
void loop() {
char CustomKey = CustomKeypad.getKey();
if (CustomKey) {
Serial.println(CustomKey); // Вывод нажатых символов в порт
Lcd.setCursor(0, 1); // Курсор в 0 символе 1 строки
Lcd.print(CustomKey); // Вывод нажатых символов на дисплей
}
}