ЭЛЕКТРОНИКА ESP12 одна кнопка на reset и управление

Memes

✩✩✩✩✩✩✩
31 Янв 2023
18
1
Здравствуйте, форумчане. Прошу помощи в реализации задумки.
Хочу сделать так, чтобы устройство управлялось всего одной кнопкой. Собираюсь использовать esp в режиме глубокого сна, а как я понял, чтобы ее вывести из него необходимо reset на землю. Алгоритм таков:
  • esp в deepsleep
  • нажал кнопку сработал reset
  • мк запустился и "отрезал" канал reset от кнопки
  • кнопка стала нести функционал согласно моему коду (просто навешаю необходимые опции)
  • плата переходит в deepsleep
  • кнопка снова работает как reset
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Memes, а не легче это сделать, повесив кнопку на GPIO16, она же WAKE(разбудить).
 
  • Лойс +1
Реакции: Memes

Memes

✩✩✩✩✩✩✩
31 Янв 2023
18
1
@PiratFox,видимо я неверно понял тогда функцию 16. То есть при замыкании reset на 16 мк выйдет из deepsleep и при этом можно будет как то еще задействовать данный канал?
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,127
412
Москва
wan-derer.ru
@Memes, Можно так попробовать:

Block_Reset.PNG

Если на выход "А" подать лог 0, транзистор откроется и кнопка будет влиять на "RESET". Если подать лог 1 или отключить от цепи (перевести в третье состояние или в режим входа), "RESET" не "увидит" кнопки. На вход "B" кнопка влияет всегда.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Wan-Derer, насколько я понял, ТС кнопкой хочет разбудить процессор из дип слип. Делать ресет при этом ему совсем не нужно. Да и при инициализации МК на пинах А и В могут одновременно проскакивать логические нули и постоянно вызывать ресет, что приведёт к тому, что устройство никогда не запустится.
 
Изменено:

Memes

✩✩✩✩✩✩✩
31 Янв 2023
18
1
@PiratFox, что то все равно видимо не понял.как через gpio16 запускать
 

Memes

✩✩✩✩✩✩✩
31 Янв 2023
18
1
@PiratFox, ну как я понял в любом случае он генерирует низкмй сигнал на ресет, что выводит мк и сна. однако тогда как дальше использовать эту же кнопку для других функций
 

Memes

✩✩✩✩✩✩✩
31 Янв 2023
18
1
Поставил в разрыв между reset и gpio16 кнопку. Насколько долго сохраняет низкий уровень gpio16? И есть ли риски не выйти из deepsleep при таком решении?