Подключение кнопки на ESP8266
Сегодня мы поговорим о подключение пятивольтовой кнопки к 3,3 вольтовому ESP8266! Конечно это шутка, но основанная на реальной теме обсуждения в одном из форумов на arduino.ru
А если серьезно то подключить кнопку на ESP8266 не просто, а очень просто, но нужно помнить и соблюдать несколько условий
1) Помним про пины! Дело в том что не к каждому пину можно подключить кнопку (или это возможно, но не совсем обычным способом)
2)Помним про подтягивающие резисторы их у обычного (стандартного) модуля ESP8266 (ESP-01, ESP-12 и их модификации) нет, но они есть у разных "продвинутых" модулей WeMos D1 Mini Pro, NODEMCU (на основе 12E) и др.
А теперь подробнее о "служебных" пинах. О тех пинах которые используются модулем на специфические нужды.
GPIO 0 - для старта модуля должен быть высокий уровень, High, единица, т. е. не должен быть никуда подключен или, что лучше, подтянут к питанию 3,3V через резистор (Если будет подтянут к земле включится режим перепрошивки)
GPIO 1 - используется в Serial порту на отправку (TX) можно использовать если не нужен Serial порт. И помним - при старте модуля любая прошивка будет дергать TX т. е. GPIO1, отправляя отладочную информацию в UART0 на скорости 74480, а значит, будет например, перещелкивается реле и загораться светодиод, но можно подключать датчики или кнопку
GPIO2 - во время включения на нем должен быть высокий уровень, High, единица т. е. не должен быть никуда подключен или, что лучше, должен быть подтянут к питанию 3,3V через резистора потом его можете использовать (На практике как правило никуда не подтянут)
GPIO 3 - используется в Serial порту на получение (RX) можно использовать если не нужен Serial порт.
GPIO15 - во время включения на нем должен быть быть низкий уровень, LOW, ноль, должен быть подтянут к земле через резистор, потом его можете использовать
GPIO16 используется для выхода модуля из сна (для выхода из режима глубокого сна модуль перезагружает сам себя, подавая низкий уровень на GPIO16)
Для подтяжки используем стандартные резисторы от 4,7 до 50 кОм
Следующим пунктом поговорим о подтягивающих (стягивающих) резисторах.
Вот отдельная статья:
Кратко
Подтягивающий резистор должен быть в районе 1кОм-10 кОм.
Вот схемы с подтяжкой к земле
и подтяжкой к питанию
Еще на всякий случай добавим токоограничивающий резистор, это не обязательно именно для кнопки, но хуже не будет
Я использовал резистор от 200 Oм до 2 кОм
R2 на схеме ниже
А вот так будем выглядеть все вместе подтягивающий (стягивающий) резистор и токоограничивающий резистор.
Для примера
Моя кнопка для включение люстры на базе ESP8266 d1 mini + Прошивка ESP Easy+Domoticz
Блок питания самый дешевый 5 вольт
Функционал встроенная сенсорная кнопка плюс обычный клавишный переключатель.
Используется модуль модуль ESP8266 d1 mini (обзор еще будет) вот он торчит
Вот внутри
Клавишный переключатель
Сенсорная кнопка встроенная в клавишный переключатель.