Кнопка-выключатель (с фиксацией)
Светодиод переключается по НАЖАТИЮ, а не пока кнопку держат: ловим фронт.

Что понадобится
- Arduino Uno
- Кнопка
- Резистор (220 Ом)
- Светодиод (зелёный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | D2 | → | Кнопка | 1.l |
| Кнопка | 2.l | → | Arduino Uno | GND |
| Arduino Uno | D8 | → | Резистор | 1 |
| Резистор | 2 | → | Светодиод | A |
| Светодиод | C | → | Arduino Uno | GND |
Скетч
// Нажали — включилось, ещё раз нажали — выключилось.
// Ловим МОМЕНТ нажатия (был HIGH, стал LOW) и ждём 30 мс от дребезга.
const int BTN = 2;
const int LED = 8;
bool lastLevel = HIGH;
bool lampOn = false;
unsigned long lastChange = 0;
void setup() {
pinMode(BTN, INPUT_PULLUP);
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
bool level = digitalRead(BTN);
if (level != lastLevel && millis() - lastChange > 30) {
lastChange = millis();
lastLevel = level;
if (level == LOW) { // именно нажатие, а не отпускание
lampOn = !lampOn;
digitalWrite(LED, lampOn ? HIGH : LOW);
Serial.println(lampOn ? "включено" : "выключено");
}
}
}
Коротко о детали: Кнопка
Тактовая кнопка замыкает цепь, пока её держат нажатой. Выводов четыре, но попарно они соединены внутри корпуса, так что независимых контактов всего два. Чтобы вход не ловил наводки, используют подтяжку — INPUT_PULLUP или резистор на питание.
Ещё примеры с деталью «Кнопка»
- Кнопка включает светодиодКнопка на D2 с внутренней подтяжкой: нажатие даёт LOW.Начальный
- Счётчик нажатий и длинное удержаниеКороткое нажатие считается, удержание дольше секунды сбрасывает счётчик.Продвинутый
- Кнопка и RC-цепочка: заряд и разрядКонденсатор заряжается сам через резистор, а кнопка его разряжает. Заряд идёт секунду, разряд — десятую долю: всё решает сопротивление.Начальный
- Кнопка через транзистор: слабый ток управляет сильнымКнопка пускает в базу транзистора крошечный ток через 10 кОм, а транзистор включает светодиод — ток в сотню раз больше.Средний
- Кнопка с задержкой: светодиод гаснет не сразуКонденсатор в базе транзистора запоминает нажатие: отпустили кнопку — светодиод гаснет плавно, за секунду с лишним.Продвинутый
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Кнопка-выключатель (с фиксацией)» в симуляторе