• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Какой вывод в ESP-01s можно задействовать под переключатель on/off ?

SergeyIL

New member
В ESP8266 много кнопок со специальными условиями -

А в ESP-01 доступны только GPIO0, GPIO2 и RX/TX они же GPIO1 и 3
Из таблицы видно что ни одного вывода не получается задействовать! Предполагается переключатель летнего/зимнего времени в интернет часах, т.е. время всегда правильное, но пару раз в год нужно нажать или отжать кнопочку для смены часового пояса. На нулевой вывод у меня прикручена лента адресных светодиодов, а 2-й при выключателе на земле можно просто спалить, а на питалово - ну просто не запустится!
 

SergeyIL

New member
Да это-то понятно, а как же высокое при старте? Или цеплять кнопку к питанию а не к земле? GPIO3 думаю более предпочтительно для входа.
 

CodeNameHawk

Moderator
Команда форума
Да это-то понятно, а как же высокое при старте?
Что тут необычного?
Или цеплять кнопку к питанию а не к земле?
Почему или? Кнопку, через резистор(100 ом), на землю.
Конечно можно кнопку подключить и к питанию, тоже через резистор, это ничего не меняет, кроме кода.
Или вы хотите использовать именно переключатель? Нафига, если кнопки достаточно.
 
Последнее редактирование:

SergeyIL

New member
Я так понимаю - GPIO3 подтягиваем резистором 10к к питанию 3,3в, и через 100 ом резистор соединяем с кнопкой и после нее с землей?
Меня смущает что в таком режиме ток на старте будет 3,3В / 100 ом = 33 мА , что в несколько раз больше допустимого (имхо) для выводов ESP8266. Не спалим случайно? Кнопка ведь может быть уже зафиксирована в нажатом состоянии, ну например когда будет старт после пропадания электроэнергии.
 

CodeNameHawk

Moderator
Команда форума
Меня смущает что в таком режиме ток на старте будет 3,3В / 100 ом = 33 мА
Зачем держать кнопку нажатой при включении?
Вывод обычно настроен на вход, питание на него поступает через внутренний резистор и такого тока не будет.
Я так понимаю - GPIO3 подтягиваем резистором 10к к питанию 3,3в, и через 100 ом резистор соединяем с кнопкой и после нее с землей?
Да. Если рядом много помех, то 10к уменьшить до 1к.
 

CodeNameHawk

Moderator
Команда форума
Если будет переключатель, то в нажатом состоянии будет потреблять ток без толку, ставьте кнопку или еще проще синхронизируйте время через инет.
 

SergeyIL

New member
Ну я же в начальном посте описал проблему - единственный переключатель с зимнего на летнее время, для пожилого и слабовидящего человека часики. В общем нажато - лето, нет зима. Максимально просто в эксплуатации должно быть.
Думал сделать просто кнопку и состояние хранить в EEPROM как вариант.
 

SergeyIL

New member
Это и будут часы с данными с NTP сервера. Но время то они дают глобальное, а оно у нас то +2 то +3 меняется.
 

SergeyIL

New member
Ток через резюк в 10к будет очень небольшой, на фоне постоянно светящих светодиодов :)
Делал и с изменением яркости и цветов, но опции оказались не востребованы, а управление получилось сложнее. Вот пытаюсь сделать максимально просто в эксплуатации и не требующее постоянной корректировки.
 

SergeyIL

New member
Тоже вариант, но не с нашей Радой. Они каждый сезон не могут решить переводить или нет часы. Искал сервера с локальным временем, чтобы сразу выдавало с нужным плюсом, не нашел... А програмно вычислять когда будет нужно поменять время и соответственно смотреть укладывается ли в промежуток текущая дата или нет, можно нарваться на какую нибудь ошибку, что проявится через полгода :)
 

CodeNameHawk

Moderator
Команда форума
Попробуйте так, вход есп, через резистор на переключающий вывод переключателя, другие ноги переключателя, одна на питание, вторая на землю.
Резистор рассчитайте, чтобы не превысить допустимый ток через вывод есп, если что.
 

SergeyIL

New member
Возникает другой вопрос - это же RX пин, не будет ли мешать прошивке подтягивание к нолю или питанию?
 

SergeyIL

New member
Идея была интересная, но при проверке оказывается что на GPIO2 при низком сигнале ожидаемо не запустилось, но если стартануть с плюсом, потом переключается нормально. Как вариант кнопки с нормально высоким вполне пойдет!
А вот GPIO3 он же RX ведет себя по хамски - вместо нулевого уровня 1,8В!!! Естественно такой уровень не воспринимается, но если убрать резистор что идет на ноль, работает!
 

nikolz

Well-known member
Идея была интересная, но при проверке оказывается что на GPIO2 при низком сигнале ожидаемо не запустилось, но если стартануть с плюсом, потом переключается нормально. Как вариант кнопки с нормально высоким вполне пойдет!
А вот GPIO3 он же RX ведет себя по хамски - вместо нулевого уровня 1,8В!!! Естественно такой уровень не воспринимается, но если убрать резистор что идет на ноль, работает!
чтобы время нажатия кнопки не влияло, подключайте кнопку к пину через RC цепочку.
Так можно на один пин посадить кучу кнопок. Где-то на форуме уже про это рассказывал.
Я например таким образом через один пин подключаю 4 кнопки. Можно и 10.
 

SergeyIL

New member
Да в общем что-то получилось. Wemos D1 mini, 82 светодиода в виде неполной матрицы 7х4 и один переключатель.
Лента на GPIO0, 2-й почему то хуже работает. На GPIO3 (RX) переключатель - земля напрямую, в другом положении подтяжка 1,5к
Пока корпуса еще нет, хотя будет одинаково с предыдущими, там пробовал типа семисегментника по три светодиода в вертикаль, по паре в горизонтали. В новой версии ИМХО циферки немного красивше получились
Что делать, у нас в семье как там у Некрасова? Всего мужиков то сын да я :) А так ну надеюсь что оценят труд женщины.
 

Вложения

Сверху Снизу