INPUT_PULLUP не работает для D8 в моем NodeMCU v3

Я изменил режим вывода приложения NodeMCU на Arduino, чтобы использовать режим INPUT_PULLUP вместо режима INPUT. Входной контакт D8 не работает должным образом, я всегда в состоянии LOW, даже если кнопка нажата или нет.

У меня есть 3 входных контакта (D2, D7, D8), когда я заменил внутренний подтягивающий резистор, я удалил все внешние резисторы со входа и изменил схему в соответствии с этим: https://www.arduino.cc/en/Tutorial/InputPullupSerial

D2 и D7 работают хорошо, а D8 — нет. Я проверил напряжение между GND и контактами:

  • когда кнопки на D2, D7 не нажаты: 2,95–3 В
  • когда кнопка на D8 не нажата: 0,8 В
  • при нажатии кнопок на D2, D7, D8: 0 В (как и ожидалось)

Вы можете увидеть мой код на github: https://github.com/kisdaniel/HomeDashboardGarageDoorOpener

, 👍1


1 ответ


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

7

Пин D8 — это контакт 15 esp8266. Этот контакт является одним из конфигурации загрузки. контакты, а для использования на плате разработки его необходимо отключить при загрузке. Таким образом, NodeMcu имеет схему понижения напряжения на этом выводе, и внутреннее повышение напряжения слабее, чем внешнее понижение напряжения.

,