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

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

Кнопка к ESP32 включается между GPIO и землёй. Внутренняя подтяжка INPUT_PULLUP держит вход на высоком уровне, пока кнопка отпущена; нажатие замыкает вход на землю, и digitalRead() возвращает LOW.

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

КнопкаESP32
1.lGPIO15
2.lGND

Схема из примера «Кнопка: чтение состояния».

Кнопка: чтение состояния

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

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

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

Код для ESP32

// INPUT_PULLUP подтягивает вывод к питанию внутри чипа.
// Кнопка замыкает вывод на землю, поэтому нажатие — это LOW.
const int BUTTON = 15;

void setup() {
  Serial.begin(115200);
  pinMode(BUTTON, INPUT_PULLUP);
}

void loop() {
  bool pressed = digitalRead(BUTTON) == LOW;
  Serial.println(pressed ? "нажата" : "отпущена");
  delay(200);
}

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

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

В железе

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

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

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