Jak osiągnąć stan n...
 
Powiadomienia
Wyczyść wszystko

Jak osiągnąć stan niski GPIO po uruchomieniu

5 Wpisów
2 Użytkownicy
0 Likes
1,753 Wyświetleń
(@sindap)
Wpisów: 34
Kontrybutor
Autor tematu
 

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?

 
Dodane : 03/08/2020 10:31 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

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.

 
Dodane : 03/08/2020 10:48 pm
(@sindap)
Wpisów: 34
Kontrybutor
Autor tematu
 

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? 

 
Dodane : 03/08/2020 10:55 pm
(@sindap)
Wpisów: 34
Kontrybutor
Autor tematu
 

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.

 
Dodane : 05/08/2020 9:21 pm
(@sindap)
Wpisów: 34
Kontrybutor
Autor tematu
 

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.

 
Dodane : 05/08/2020 9:43 pm
Udostępnij: