Przekaźniki/Relay w SuplaDevice Arduino IDE

Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

bigthomas pisze: pt paź 30, 2020 4:25 pm Z tego co czytałem, parametr ten oznacza sterowanie stanem niskim.
I tak mam właśnie ustawione.
A mi chodzi o to aby odwrócić logikę, Czyli zamiast w aplikacji wybierać "włącz" aby uruchomić przekaźnik i przerwać obwód. Wybrać "wyłącz" aby odpowiadało to faktycznemu działaniu.
Prawdopodobnie masz przekaźnik sterowany stanem niskim i poprawnie dodałeś go w programie. Wyrzuć "false" i będziesz miał taki efekt jaki chcesz osiągnąć.
Stan wysoki w app (włącz) - przekaźnik wyłączony, NC-COM zamyka obwód wg. Twojego połączenia.
Stan niski w app (wyłącz) - przekaźnik włączony.
Do tego dorzuć "setDefaultStateOn();" i będzie ok.
https://www.facebook.com/groups/supladiy/
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

lukfud pisze: pt paź 30, 2020 5:41 pm Prawdopodobnie masz przekaźnik sterowany stanem niskim i poprawnie dodałeś go w programie. Wyrzuć "false" i będziesz miał taki efekt jaki chcesz osiągnąć.
Stan wysoki w app (włącz) - przekaźnik wyłączony, NC-COM zamyka obwód wg. Twojego połączenia.
Stan niski w app (wyłącz) - przekaźnik włączony.
Do tego dorzuć "setDefaultStateOn();" i będzie ok.
Dzięki o to mi chodziło.
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

@pzygmunt, @klew,

Dziwa (chyba, że tak ma być) rzecz. Kiedy klikam przy automacie schodowym "Wyłącz" w aplikacji bądź Cloud to po ustawionym czasie włącza się przekaźnik, następnie po tym samym czasie wyłącza.
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

lukfud pisze: wt lis 03, 2020 11:14 pm @pzygmunt, @klew,

Dziwa (chyba, że tak ma być) rzecz. Kiedy klikam przy automacie schodowym "Wyłącz" w aplikacji bądź Cloud to po ustawionym czasie włącza się przekaźnik, następnie po tym samym czasie wyłącza.
Raczej tak ma nie być. Serwer Supli wysyła zawsze "duration ms" przy poleceniach włącz i wyłącz. Jak ostatnio poprawiałem obsługę przekaźników, to włączyłem przekazywanie tego czasu do polecenia "wyłącz", dzięki czemu masz taki efekt jak widzisz :).

Trochę było to pod kątem "timerów" z aplikacji, bo tam ma być opcja "włącz za x czasu", ale zapomniałem, że aktualnie "duration ms" leci w każdej komendzie. Wrzucę zaraz poprawkę na to.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

klew pisze: śr lis 04, 2020 9:52 am
Raczej tak ma nie być. Serwer Supli wysyła zawsze "duration ms" przy poleceniach włącz i wyłącz. Jak ostatnio poprawiałem obsługę przekaźników, to włączyłem przekazywanie tego czasu do polecenia "wyłącz", dzięki czemu masz taki efekt jak widzisz :).

Trochę było to pod kątem "timerów" z aplikacji, bo tam ma być opcja "włącz za x czasu", ale zapomniałem, że aktualnie "duration ms" leci w każdej komendzie. Wrzucę zaraz poprawkę na to.
A widzisz.. szykuje się dziś aktualizacja biblioteki i kompilacji :)
https://www.facebook.com/groups/supladiy/
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Czy coś się zmieniło?
Dodaję

Kod: Zaznacz cały

Supla::Eeprom eeprom();
dla przekaźnika ustawiam

Kod: Zaznacz cały

setDefaultStateRestore()
w consoli dostaję tylko **** Digital write[0], pin: 12; value: 1 w ogóle nie wywołuje się Eeprom::writeStorage()

Jakaś podpowiedź?
https://gui-generic-builder.supla.io/
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

krycha88 pisze: sob lis 07, 2020 9:49 am w consoli dostaję tylko **** Digital write[0], pin: 12; value: 1 w ogóle nie wywołuje się Eeprom::writeStorage()
Jakaś podpowiedź?
Domyślny czas to 3 min.
Dorzuć:

Kod: Zaznacz cały

eeprom.setStateSavePeriod(X);
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

lukfud pisze: sob lis 07, 2020 10:26 am Domyślny czas to 3 min.
Dorzuć:

Kod: Zaznacz cały

eeprom.setStateSavePeriod(X);
A to nie powininna być czasem zapisywana każda zmiana przekaźnika?
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Espablo pisze: sob lis 07, 2020 11:22 am
lukfud pisze: sob lis 07, 2020 10:26 am Domyślny czas to 3 min.
Dorzuć:

Kod: Zaznacz cały

eeprom.setStateSavePeriod(X);
A to nie powininna być czasem zapisywana każda zmiana przekaźnika?
Do eeprom jest zapis domyślnie co 3 min. Do fram co 1 s. Jeśli chcesz to zmniejsz czas na 1 s do eeprom i będzie zapisana każda zmiana. Jeśli nic nie ma do zapisania, to program nie będzie pisał.
Eeprom/flash ma swoją żywotność. Zbyt częste zapisy mogą zajechać szybko pamięć
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Jeżeli wywoła się konstruktor bez parametru to nie działa zapisywanie

Kod: Zaznacz cały

Supla::Eeprom eeprom();
jeżeli poda się to w taki sposób

Kod: Zaznacz cały

#STORAGE_OFFSET 0
Supla::Eeprom eeprom(STORAGE_OFFSET );
to już działa. Wydaje się to błędem :)
https://gui-generic-builder.supla.io/
ODPOWIEDZ

Wróć do „Arduino IDE”