Powiadomienia
Wyczyść wszystko

INFORMACJA Strona oraz Forum Smart'ny Dom zostały przeniesione na nowy serwer. W razie zauważenia problemów z działaniem, proszę zgłaszać je tutaj. W ciągu kilku następnych dni serwer będzie "podkręcany" i mogą występować chwilowe przerwy w jego działaniu.

Za niedogodności z góry przepraszam, admin

GPIO 14 jak je pogmerać ?

9 Wpisów
2 Użytkownicy
0 Reactions
2,028 Wyświetleń
Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Autor tematu
(@tomaszraszowski)
Pomocny
Dołączył: 8 lat temu

Adrianie help !

Czemu mi to nie działa ?

/* Set relay to ON */
void SonoffRelay::on() {
  digitalWrite(GPIO_14, HIGH);
  if (get()==RELAY_OFF) digitalWrite(RELAY, HIGH);
  if (Configuration.interface == 1) publish();
  if (Configuration.debugger) Serial << endl << "INFO: Relay set to ON";
  Eeprom.saveRelayState(RELAY_ON);
  Led.blink();
  
}

/* Set relay to OFF */
void SonoffRelay::off() {
  digitalWrite(GPIO_14, LOW);
  if (get()==RELAY_ON) digitalWrite(RELAY, LOW);
  if (Configuration.interface == 1) publish();
  if (Configuration.debugger) Serial << endl << "INFO: Relay set to OFF";
  Eeprom.saveRelayState(RELAY_OFF); 
  Led.blink();
}
8 Odpowiedzi
1 Reply
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 11 lat temu

Szefu
Wpisów: 4040

2 opcje

  • albo w pliku sonoff-realy.h zmienisz nr GPIO w stałej RELAY z 12 na 14 i wtedy nie dotykasz pliku sonff-relay.ino w sensie zostawiasz jak było RELAY wszędzie
  • albo dodatkowo zamień RELAY w tych dwóch metodach na GPIO_14, bo chyba nie zauważyłeś digitalWrite(RELAY, HIGH) oraz digitalWrite(RELAY, LOW)
Odpowiedz
Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Autor tematu
(@tomaszraszowski)
Pomocny
Dołączył: 8 lat temu

Ale 12 to GPIO relayki, jak to zmienię to prekaźnik przestanie działać na pinie 12, a ja chcę aby przy ON,OFF przekaźnika czyli pinu 12 dodatkowo zmieniał mi stan pinu 14 do którego mam podpięty switch z diodą.

No chyba że coś źle myślę...

Odpowiedz
1 Reply
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 11 lat temu

Szefu
Wpisów: 4040

ok, nie wiedzialem co chcesz zrobić, to dodaj  w konstruktorze tej klasy Relay sonoff-relay.ino

 SonoffRelaySonoffRelay() {
  pinMode(RELAY, OUTPUT);
pinMode(GPIO_14,OUTPUT);
....

 

powinno zadziałać - tak mi się wydaje 

Chyba zadziała. 

Odpowiedz
Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Autor tematu
(@tomaszraszowski)
Pomocny
Dołączył: 8 lat temu

Niestety, jakby ignorował te moje komendy, poza SERIALEM bo tu mi wypisuje jak mu każę 🙂

EDIT: wgralem sketch blinka na pin 14 zeby sie upewnic czy czasem esp nie zdechło, ale smiga.

A może to ma jakis związek z tym że w ustawieniach mam ten przełącznik na 14 pinie i gdzies coś blokuje ?

Odpowiedz
1 Reply
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 11 lat temu

Szefu
Wpisów: 4040

jak wróce do chałupy to się zastanowię - muszę spojrzeć w kod.

Może masz w konfiguracji włączony czujnik temperatury na 14stce?

Odpowiedz
Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Autor tematu
(@tomaszraszowski)
Pomocny
Dołączył: 8 lat temu

Nie, czujniki są wyłączone.

Teraz robiłem eksperymenty i jak w switch.ino zmienilem _gpio na OUTPUT (co skutkowało brakiem możliwości działania przełącznika) ale za to 14 mrygnęła i zawiesiła SO 😀

 

EDIT: wezmę pod koniec tygodnia z 5 SO od Ciebie 🙂 Jeden miał bliskie spotkanie ze ścianą :/ czas odpocząć od kompa i jechać na działkę, poganiać się z mrówkami albo rybę jakąś złapać 🙂

Odpowiedz
adrian
Wpisów: 4040
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Szefu
Dołączył: 11 lat temu

i co rozwiązałeś ten problem ze świeceniem diody na gpio14?

Odpowiedz
Strona 1 / 2
Udostępnij: