Выключатель. Тактовая кнопка


Выключатель — это прибор, который позволяет замыкать и размыкать электрическую цепь. При этом, смена состояния выключателя может происходить разными способами, в зависимости от типа устройства. Механические выключатели наиболее распространены, и используются непосредственно человеком.

К такому типу относятся различные тумблеры, кнопки, клавиши и рубильники. Электромагнитные и электронные, напротив, применяются в автоматических системах, и управляются при помощи электрических сигналов. Самым известным электромагнитным выключателем является реле. Примером электронного выключателя может служить транзистор.

Тактовая кнопка — простой, всем известный механизм, замыкающий цепь пока есть давление на толкатель. На изображении снизу показаны ножки кнопки, стрелки одного цвета предназначены для подключения. Когда кнопка нажата, пины, изображенные синими стрелками, соединяются с пинами, изображенными красными стрелками.

Пины кнопки

Кнопки с 4 контактами стоит рассматривать, как 2 пары рельс, которые соединяются при нажатии.

Кнопки замыкают цепь


Эффект дребезга

При замыкании и размыкании между пластинами кнопки возникают микроискры, провоцирующие до десятка переключений за несколько миллисекунд. Явление называется дребезгом (англ. bounce). Это нужно учитывать, если необходимо фиксировать «клики».

Дребезг контактов


Схема подключения

Подключать кнопку напрямую крайне не рекомендуется из-за дребезга контактов.

Не подключайте кнопку напрямую

Пока кнопка нажата, выходное напряжение Vout = Vcc, но пока она отпущена, Vout ≠ 0. Кнопка и провода в этом случае работают как антенна, и Vout будет «шуметь», принимая случайные значения «из воздуха». Пока соединения нет, необходимо дать резервный, слабый путь, делающий напряжение определённым. Для этого используют резистор.

Схема с подтягивающим резистором


Схема с подтягивающим резистором
Подключение кнопки с подтяжкой к VCC

  • Есть нажатие: Vout = 0
  • Нет нажатия: Vout = Vcc

Схема со стягивающим резистором


Схема со стягивающим резистором
Подключение кнопки с подтяжкой к GND

  • Есть нажатие: Vout = Vcc
  • Нет нажатия: Vout = 0

Схема RC-цепи
(аппаратное решение дребезга контактов)

Подключение кнопки к Arduino с помощью RC-цепочки


Таймер нажатия
(программное решение дребезга контактов)