#include <Keypad.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] = {2, 3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
const int ledPin1 = 10;
const int ledPin2 = 11;
const int ledPin3 = 12;
int old1 = 0;
int old2 = 0;
int old3 = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
char key = keypad.getKey(); // Получение символа
if (key == '1') {
if (old1 == 0){
digitalWrite(ledPin1, HIGH);
old1 = 1;
}
else {
digitalWrite(ledPin1, LOW);
old1 = 0;
}
}
if (key == '2') {
if (old2 == 0){
digitalWrite(ledPin2, HIGH);
old2 = 1;
}
else {
digitalWrite(ledPin2, LOW);
old2 = 0;
}
}
if (key == '3') {
if (old3 == 0){
digitalWrite(ledPin3, HIGH);
old3 = 1;
}
else {
digitalWrite(ledPin3, LOW);
old3 = 0;
}
}
}