Интернет-магазин «Неглупый Дом»
Сенсорная кнопка TTP223 без механики открывает замок, если её коснуться заданное число раз за короткое время.
TTP223 — емкостный сенсорный модуль: вместо механического контакта отслеживает изменение ёмкости от прикосновения пальца и выдаёт чистый HIGH/LOW без дребезга. Снаружи не видно механики, которую можно вскрыть отмычкой.
Код считает короткие касания в пределах временного окна (`tapWindow`): если их насчиталось ровно `secretTaps` — реле открывает замок, иначе счётчик сбрасывается.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int touchPin = 2;
const int relayPin = 7;
const int secretTaps = 3; // секретное число касаний
const unsigned long tapWindow = 2000; // окно времени на весь код, мс
int tapCount = 0;
unsigned long firstTapTime = 0;
bool lastState = LOW;
void setup() {
Serial.begin(9600);
pinMode(touchPin, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
bool state = digitalRead(touchPin);
if (state == HIGH && lastState == LOW) {
if (tapCount == 0) firstTapTime = millis();
tapCount++;
Serial.print("Касание #");
Serial.println(tapCount);
}
lastState = state;
if (tapCount > 0 && millis() - firstTapTime > tapWindow) {
if (tapCount == secretTaps) {
Serial.println("Код верный, открываю");
digitalWrite(relayPin, HIGH);
delay(3000);
digitalWrite(relayPin, LOW);
} else {
Serial.println("Код неверный");
}
tapCount = 0;
}
delay(10);
}
Секретное число касаний (`secretTaps`) и окно (`tapWindow`) легко поменять — чем больше касаний, тем сложнее подобрать код случайно.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 141 ₽ 127 ₽ (экономия 14 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.