Урок 6: Светодиод, Управляемый Кнопкой
1. О чём эксперимент?
Изучим работу кнопочного переключателя (tact switch) и научимся включать светодиод по нажатию. Принцип лежит в основе любой схемы, где требуется ручной ввод: пульты, фонарики, бытовая техника.
2. Компоненты
Кол-во |
Деталь |
---|---|
1 |
Плата Arduino UNO |
1 |
Кнопочный переключатель (tact switch) |
1 |
LED 5 мм (красный) |
1 |
Резистор 220 Ω — для LED |
1 |
Резистор 10 kΩ — подтяжка кнопки к VCC |
1 |
Макетная плата (breadboard) |
6 |
Перемычки «папа–папа» |
1 |
USB-кабель A-B |
3. Немного теории

Кнопка имеет два контакта «нормально разомкнуты». Когда кнопку нажимают, контакты замыкаются — микроконтроллер считывает логический HIGH. Как только палец отпускает кнопку, пружина внутри возвращает её в исходное состояние (логический LOW).
4. Схема подключения

11 → анод LED (через резистор 220 Ω)
7 → один вывод кнопки (pull-up через 10 kΩ к 5 В)
Второй вывод кнопки → GND
Катод LED → GND
5. Пример кода
// Кнопка управляет светодиодом
int ledpin = 11; // пин LED
int inpin = 7; // пин кнопки
int val; // переменная для считывания состояния
void setup()
{
pinMode(ledpin, OUTPUT); // LED как выход
pinMode(inpin, INPUT); // кнопка как вход
}
void loop()
{
val = digitalRead(inpin); // читаем кнопку
if (val == LOW) // нажата — контакт даёт LOW
{
digitalWrite(ledpin, LOW); // выключить LED
}
else // не нажата
{
digitalWrite(ledpin, HIGH); // включить LED
}
}
6. Как работает код
При нормально-разомкнутой кнопке на пине 7 висит подтяжка к VCC (10 kΩ) → считывается
HIGH
.Когда кнопку нажимают, пин замыкается на GND →
digitalRead
возвращаетLOW
.В условии
if
меняем уровень пина LED: LOW — гасим, HIGH — зажигаем.
7. Пошаговый запуск
Соберите схему, как на рисунке.
Подключите Arduino, выберите плату UNO и COM-порт.
Скопируйте скетч, нажмите Upload.
Нажимайте кнопку — LED будет загораться и гаснуть.
8. Что может пойти не так
Симптом |
Причина |
Решение |
---|---|---|
LED всегда горит |
Кнопка подключена к +5 В без резистора подтяжки |
Проверьте цепь, добавьте 10 kΩ к VCC |
LED не реагирует |
Кнопка подключена неправильно, пин не тот |
Подпаяйте кнопку вдоль разделительной канавки, проверьте номер пина |
LED мигает хаотично |
Дребезг контактов |
Добавьте задержку |
9. Эксперименты
Вставьте второй LED на пин 10 и сделайте индикацию «кнопка нажата — красный гаснет, зелёный горит».
Используйте встроенный
INPUT_PULLUP
вместо внешнего резистора:pinMode(inpin, INPUT_PULLUP)
— проще монтаж, меньше деталей.