Напряжение на металлической кнопке падает только до 3,15 В в выключенном состоянии.

Я пытаюсь обнаружить нажатие кнопки со светодиодом на 5 контактов, используя это руководство: https://newbiely.com/tutorials/esp8266/esp8266-button-long-press-short-press

Работает без проблем со стандартной кнопкой (4 контакта, подключены к земле и входу IN), однако не работает с 5-контактной кнопкой Halo с самосбросом. Я заметил, что при нажатии кнопки напряжение падает всего до ~3,15 В вместо 0 В. Знаете, почему это может быть?

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

Спасибо!

, 👍-1


1 ответ


Лучший ответ:

1

Во всех кодах в этом руководстве цифровой вывод настроен как INPUT_PULLUP, поэтому внутренний подтягивающий резистор подтянет его к 3,3 В.

Поскольку вы подключили контакт к NC (обычно он подключен), кнопка подключена к 3,3 В в ненажатом состоянии и к нулю при нажатии. В этом случае подтягивающий резистор подтягивает её к 3,3 В. В зависимости от источника питания и метода измерения, это значение может быть немного ниже (например, 3,15 В), хотя и находится в пределах диапазона HIGH.

Либо подключите общий вывод (C) к земле, либо используйте INPUT_PULLDOWN (если ваша плата поддерживает это) или внешний подтягивающий резистор (между цифровым выводом и землей, значение типа 1 кОм должно быть подходящим)

,

Спасибо @chrisl, подключение общего провода к земле и переключение сигнала на NC сработало как часы :), @Michał Darowski