Подключение кнопки к Arduino

Тактовая кнопка

Кнопка к Arduino Uno и Nano включается между цифровым выводом и землёй с pinMode(pin, INPUT_PULLUP). Нажатие даёт LOW, отпускание — HIGH; внешний резистор не нужен.

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

КнопкаArduino Uno
1.lD2
2.lGND

Схема из примера «Arduino Uno: кнопка со внутренней подтяжкой».

Arduino Uno: кнопка со внутренней подтяжкой

Открыть пример целиком

Выводы Кнопка

ВыводНазначение
1.lконтакт 1, левая ножка
1.rконтакт 1, правая ножка (соединена с 1.l внутри)
2.lконтакт 2, левая ножка
2.rконтакт 2, правая ножка (соединена с 2.l внутри)

Код для Arduino

// Кнопка на выводе 2 и светодиод на выводе 8.
//
// INPUT_PULLUP включает резистор внутри контроллера — внешний не
// нужен. Вывод при этом всё время подтянут к питанию и читается как
// HIGH; кнопка соединяет его с землёй, поэтому НАЖАТИЕ — это LOW.
// Перевёрнутая логика удивляет каждого, кто видит её впервые.

const int BUTTON = 2;
const int LED = 8;

void setup() {
  pinMode(BUTTON, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  bool pressed = digitalRead(BUTTON) == LOW;
  digitalWrite(LED, pressed ? HIGH : LOW);
  delay(50);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на Arduino

В железе

Ножки, соединённые внутри, — те, что смотрят друг на друга через длинную сторону корпуса. Кнопка, поставленная на макетку «не той стороной», замкнута всегда.

Частые ошибки при подключении к Arduino

Другие детали для Arduino