Всем привет подключил модуль из 8 реле к плате wemos, все работает, но есть проблема: при включении/перезагрузке (reset) wemos, все релюхи на 1 раз мгновенно на долю секунды включаются, ну а дальше переходят в состояние в зависимости от скетча ну тоесть когда происходит первое включение и перезагрузка, то по всем реле пробегается короткий сигнал на включение. в проекте где я буду использовать эти реле очень важно чтобы такого не было. отсюда и вопрос, можно ли как-то обойти эту систему короткого включения реле при первой подаче питания?
И да и нет. У ESP-8266 минимум 2 ноги при включении подтянуты к питанию. У этого модуля возможно больше - смотрите схему. Есть релейные модули, которые перекидывают реле не единицей, а нулем. Вот они то удобны для ESP-8266, в ином случае надо городить какое-то железное решение для задержки или инвертирования сигнала управления.
итак продолжаю разбираться с данным явлением. странно, неужели я первый кто столкнулся с этим? как выяснилось, включаются в этот момент только первое и последнее реле, тоесть те релюхи которые наиболее близко к краям релейного модуля. Причем если отключить пины вывода этих реле от ардуины, то этого не происходит и всё нормально, как мне и надо то есть при включении/перезагрузки реле не включаются. Но при подключении даже к другим выводам ардуины (не активным по скетчу) все-равно происходит включение этих реле при первой подаче питания/рестарте. если цифровой пин физически отключен, то релюхи не работают (значит по логике проблема решается программно), но даже если цифровой пин не задействован (но при этом физически проводок подключен к ардуине), то это всеравно происходит. Надеюсь понятно объяснил получается в своем проекте я не смогу использовать 1 и 8 реле, т.к мне категорически важно чтобы они не включались ни на какие доли секунды при перезагрузке платы
Понимаете в чем дело, если бы эти 2 ноги были статично подтянуты к питанию то проблема бы решилась сменой пинов, но я пробовал подключаться к другим выводам, ситуация не меняется.
Значит прошивка во время старта до запуска программы сама поднимает ноги в единицу. Вы же программно точно это не делаете? Попробуйте стянуть 10 ком резистором ноги в ноль, но для GPIO0 и GPIO2 это делать категорически нельзя.
Сейчас попробовал еще в другие пины подключить - и проблема решилась. По факту оказалось, что питание у вемоса подтянуто более чем к двум ногам, если не ошибаюсь то в моем случае это оказались D1, D8, D9, D10. Видимо так совпало, что я именно между этими пинами пробовал переключаться. по факту логическая единица приходит именно на эти пины кратковременно при первом запуске или рестарте, т.е до начала работы скетча. Надо еще оставшиеся пины проверить, я думаю на форуме такая информация лишней не будет Ну и назревает вопрос, можно ли все-таки как-то перепрошить сам ESP, чтобы он не посылал единицы на эти пины до запуска скетча? или тут всё завязано на железе?
Вроде я так и предполагал сразу. Неможно. Минимум указанные мной два пина при старте должны быть в единице, иначе по причине одного модуль входит в режим прошивки, а второй отвечает за выбор источника загрузки.