Witam. Kombinuję na wszelkie sposoby ale zawsze i co gorsza nieregularnie mam przeważnie wysoki stan na wyjściu GPIO, które ustawiam do sterowania przekaźnika. Czy jest sposób aby do pełnego uruchomienia ESP stan GPIO był zawsze niski?
Wszystko zależy od tego które to GPIO , niektóre przy starcie zawsze dają stan wysoki , najlepiej poczytać o konkretnym esp i jego GPIO . Są też takie jak GPIO 0 że nie mogą przy starcie być w stanie niskim.
Konkretnie chodzi o ESP12F. Teraz przekaźniki mam podłączone do GPIO 12 i 13.
Hm. Tak po przemyśleniach skoro i tak przekaźniki steruje przez TXS0108E to myślę, że wykorzystam jego wejście OE które wysteruje dopiero po określonym ustaleniu GPIO.
Ewentualnie pokombinuje coś jeszcze z MCP23017.
Może ktoś już robił takie rozwiązania?
Nikt nie opowiada więc pozwolę sobie odpowiadać w tym wątku i z jednej strony może się komuś to przyda a może ktoś naprowadzi mnie na rozwiązanie.
Okazuje się, że po usunięciu wszystkich reguł i dodaniu tej:
on System#Wake do
GPIO,12,0
endon
To zgodnie z jej założeniem na GPIO 12 po uruchomieniu ESP mam to co chcę czyli stan niski. Nie mam kłopotu z tym, że występują jakieś nieustalone stany. Niby wszystko w porządku.
Jednak gdy dodam regułę:
on przycisk2#State do
if [przekaznik2#State]=1
gpio,12,0
else
gpio,12,1
endif
endon
wtedy mam problem. Przy każdym restarcie ESP reguła ta powoduje, że przy starcie ESP to GPIO 12 zmienia swój stan. Wygląda to tak, że jeżeli przy starcie GPIO 12 jest w stanie 0 to druga reguła go zmienia na 1.
Natomiast jak pierwszą regułę zmodyfikuję na 12,1 to druga reguła zmienia na stan 0. Niby w porządku ale do czasu zadziałania drugiej mam stan wysoki. Więc jest źle.
OK. Już wiem.
Druga reguła powinna mieć postać:
on przycisk2#State do
if [przycisk2#State]=0
gpio,12,0
else
gpio,12,1
endif
endon
Jak ktoś ma jeszcze jakieś sugestie to chętnie przeczytam.