
Интернет-магазин «Неглупый Дом»
Клавиатура 4×4 принимает цифровой код, при совпадении с эталонным Arduino на пару секунд открывает реле замка, при ошибке — коротко пищит зуммером.
#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] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
const String correctCode = "1234";
String input = "";
const int relayPin = 10;
const int buzzerPin = 11;
void setup() {
pinMode(relayPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
char key = keypad.getKey();
if (key) {
if (key == '#') {
if (input == correctCode) {
digitalWrite(relayPin, HIGH);
delay(2000);
digitalWrite(relayPin, LOW);
} else {
digitalWrite(buzzerPin, HIGH);
delay(500);
digitalWrite(buzzerPin, LOW);
}
input = "";
} else if (key == '*') {
input = "";
} else {
input += key;
}
}
}
Библиотека Keypad (автор Mark Stanley/Alexander Brevig) ставится через Менеджер библиотек. Клавиша `#` подтверждает ввод, `*` сбрасывает набранный код.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 3 товара сразу в корзину: 237 ₽ 213 ₽ (экономия 24 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.