Напряжение на металлической кнопке падает только до 3,15 В в выключенном состоянии.
Я пытаюсь обнаружить нажатие кнопки со светодиодом на 5 контактов, используя это руководство: https://newbiely.com/tutorials/esp8266/esp8266-button-long-press-short-press
Работает без проблем со стандартной кнопкой (4 контакта, подключены к земле и входу IN), однако не работает с 5-контактной кнопкой Halo с самосбросом. Я заметил, что при нажатии кнопки напряжение падает всего до ~3,15 В вместо 0 В. Знаете, почему это может быть?

Спасибо!
@Michał Darowski, 👍-1
1 ответ
Лучший ответ:
Во всех кодах в этом руководстве цифровой вывод настроен как INPUT_PULLUP, поэтому внутренний подтягивающий резистор подтянет его к 3,3 В.
Поскольку вы подключили контакт к NC (обычно он подключен), кнопка подключена к 3,3 В в ненажатом состоянии и к нулю при нажатии. В этом случае подтягивающий резистор подтягивает её к 3,3 В. В зависимости от источника питания и метода измерения, это значение может быть немного ниже (например, 3,15 В), хотя и находится в пределах диапазона HIGH.
Либо подключите общий вывод (C) к земле, либо используйте INPUT_PULLDOWN (если ваша плата поддерживает это) или внешний подтягивающий резистор (между цифровым выводом и землей, значение типа 1 кОм должно быть подходящим)
- Как переключить светодиод при нажатии кнопки?
- Определение того, была ли нажата и отпущена кнопка
- Нажать клавишу Windows, используя «keyboard.press();»
- Устранение дребезга кнопки с помощью прерывания
- Хорошая кнопка debouncing/Библиотека StateChange
- Напряжение меняется, но цифровой поток всегда HIGH
- Остановить мигание светодиодов
- Вопрос новичка с 4-контактной кнопкой
Спасибо @chrisl, подключение общего провода к земле и переключение сигнала на NC сработало как часы :), @Michał Darowski