Как подключить и запрограммировать кнопку (Button)
Учимся подключать тактовую кнопку к Arduino и управлять встроенным светодиодом на пине 13 с помощью pull-down резистора.
Тактовые кнопки и переключатели замыкают цепь между двумя точками в момент нажатия. В этом уроке мы научимся читать состояние кнопки и зажигать встроенный светодиод на пине 13, пока кнопка удерживается нажатой.
Необходимое оборудование
- Тактовая кнопка или переключатель
- Резистор 10 кОм
- Соединительные провода
- Макетная плата (breadboard)
Схема подключения

Схема подключения кнопки к Arduino UNO на макетной плате
Подключите к плате три провода. Красный и чёрный идут в длинные вертикальные шины макетной платы — они дадут нам доступ к питанию 5 В и земле. Третий провод соединяет цифровой пин 2 с одной из ножек кнопки. Эта же ножка через pull-down резистор 10 кОм подключена к GND. Вторая ножка кнопки подключена к линии 5 В.
Как это работает:
- Кнопка отпущена — между ножками нет контакта, пин 2 через резистор «притянут» к земле, и мы читаем LOW.
- Кнопка нажата — ножки замыкаются, пин 2 подключается к 5 В, и мы читаем HIGH.
Можно собрать и обратную схему: использовать pull-up резистор, который держит вход в состоянии HIGH, а при нажатии кнопки сигнал уходит в LOW. В этом случае поведение скетча инвертируется — светодиод будет гореть постоянно и гаснуть при нажатии.
Важно: если оставить цифровой пин ни к чему не подключённым, светодиод начнёт мигать хаотично. Это явление называется «плавающий вход» (floating input) — пин случайным образом принимает значение HIGH или LOW под влиянием электромагнитных помех. Именно поэтому всегда необходимо использовать pull-up или pull-down резистор.
Принципиальная схема

Принципиальная схема подключения кнопки (переключателя) и резистора 10 кОм к Arduino UNO
Код
Практические замечания
Типичные ошибки:
- Забытый резистор. Без pull-down или pull-up резистора пин «висит в воздухе» и показания будут непредсказуемыми. Альтернатива — использовать внутренний pull-up Arduino, передав
INPUT_PULLUPвpinMode(). - Неправильное направление кнопки. Большинство тактовых кнопок имеют четыре ножки, попарно соединённые внутри. Убедитесь, что провода идут к разным парам, иначе кнопка будет «нажата» всегда.
- Дребезг контактов. При быстром переключении кнопка может дать несколько коротких импульсов вместо одного. Для простых задач это не критично, но если нужно считать нажатия — добавьте программную задержку (
delay(50)) или используйте библиотеку Bounce2.
Как проверить результат:
Откройте скетч, загрузите его на плату и нажмите кнопку. Встроенный светодиод (помечен L рядом с пином 13) должен загораться при нажатии и гаснуть при отпускании. Если поведение обратное — проверьте, не перепутана ли схема с pull-up на pull-down.
Дополнительные материалы
Больше базовых примеров можно найти в разделе built-in examples.
Также советуем изучить language reference — подробный справочник по языку программирования Arduino.
Последнее обновление: 2015/07/28, SM