[PORADNIK] Arduino IDE

Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

podobnoja pisze: wt cze 30, 2020 9:05 am Mam pytanie co tak naprawdę oznacza "true"? Bo po restarcie zasilania płytka podaję zasilanie na kilka przekaźników... Podejrzewam że to może być przyczyną...

Kod: Zaznacz cały

 SuplaDevice.addRelay(10, true);
Posiadam płytkę Nodemcu v3 w której wgrałem program (https://majsterkowo.pl/supla-nodemcu-v3 ... ogle-home/)
Z tego co pamiętam, to "true" odwaraca logikę - używa się to np. przy przekaźnikach sterowanch stanem niskim.
Widzimy się na Supla Offline Party vol. 2 :!:
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

Kod: Zaznacz cały

new Supla::Sensor::ImpulseCounter(34, true, false, 10);
mam pytanie odnośnie powyższego zapisu, jeśli mam zliczanie przez kontaktron dokładnie przez podajnik w piecu i zauważyłem, że nie zalicza mi impulsów, tzn podajnik obraca się dość wolno i czasami zatrzymuje się dokładnie nad lub w pobliżu kontaktronu więc jest stan wysoki przez dłuższą chwilę, np. 5 minut, to jaki czas ustawić w powyższym zapisie, czy przypadkiem 10 nie oznacza częstotliwości zliczania (co 10 milisekund) ?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

NetAs pisze: pn sty 04, 2021 11:09 am

Kod: Zaznacz cały

new Supla::Sensor::ImpulseCounter(34, true, false, 10);
mam pytanie odnośnie powyższego zapisu, jeśli mam zliczanie przez kontaktron dokładnie przez podajnik w piecu i zauważyłem, że nie zalicza mi impulsów, tzn podajnik obraca się dość wolno i czasami zatrzymuje się dokładnie nad lub w pobliżu kontaktronu więc jest stan wysoki przez dłuższą chwilę, np. 5 minut, to jaki czas ustawić w powyższym zapisie, czy przypadkiem 10 nie oznacza częstotliwości zliczania (co 10 milisekund) ?
Długie impulsy nie są problematyczne. Nie pamiętam w tej chwili dokładnie, się 10ms oznacza czas filtrowania drgań sygnału. Czyli po wykryciu zmiany stanu, kolejne zmiany w ciągu 10 ms są ignorowane. Stan wysoki może być dowolnie długo
Widzimy się na Supla Offline Party vol. 2 :!:
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

Dzięki Klew za szybką odpowiedź, pytanko a aby zapisywać stan do STORAGE wystarczy tylko dodać:

Kod: Zaznacz cały

#define STORAGE_OFFSET 100
#include <supla/storage/eeprom.h>
Supla::Eeprom eeprom(STORAGE_OFFSET);
czy potrzebuje jeszcze w kodzie dodać co chce tam zapisywać?
widzę że jest w impulse_counter.cpp

Kod: Zaznacz cały

void ImpulseCounter::onSaveState() {
  Supla::Storage::WriteState((unsigned char *)&counter, sizeof(counter));
}
ale czy ona jest wywoływana automatycznie czy muszę ją w kodzie wywołać?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

NetAs pisze: pn sty 04, 2021 11:56 am Dzięki Klew za szybką odpowiedź, pytanko a aby zapisywać stan do STORAGE wystarczy tylko dodać:

Kod: Zaznacz cały

#define STORAGE_OFFSET 100
#include <supla/storage/eeprom.h>
Supla::Eeprom eeprom(STORAGE_OFFSET);
STORAGE_OFFSET możesz dać na 0 albu usunąć - jeśli nie korzystasz samodzielnie z eepromu w aplikacji.
czy potrzebuje jeszcze w kodzie dodać co chce tam zapisywać?
widzę że jest w impulse_counter.cpp

Kod: Zaznacz cały

void ImpulseCounter::onSaveState() {
  Supla::Storage::WriteState((unsigned char *)&counter, sizeof(counter));
}
ale czy ona jest wywoływana automatycznie czy muszę ją w kodzie wywołać?
Zapis jest cyklicznie wykonywany co 3 minuty. Zapis się nie wykona jeśli nie zmieniły się dane do zapisania.
Domyślny interwał można zmienić używając w setup:

Kod: Zaznacz cały

eeprom.setStateSavePeriod(15*60*1000); // 15 minut - czas podany w ms
Także nic więcej samemu nie musisz dodawać.
Widzimy się na Supla Offline Party vol. 2 :!:
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

Chciałbym wyświetlać wynik procentowy, np. ilość wody ale nie w litrach, a w procentach, czy do tego celu wykorzystać (jakiś wirtualny) termometr czy może wykorzystać licznik wody ?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

NetAs pisze: czw sty 14, 2021 11:24 am Chciałbym wyświetlać wynik procentowy, np. ilość wody ale nie w litrach, a w procentach, czy do tego celu wykorzystać (jakiś wirtualny) termometr czy może wykorzystać licznik wody ?
Jaki kanał i jaki sensor Cię interesuje?
Widzimy się na Supla Offline Party vol. 2 :!:
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

klew pisze: czw sty 14, 2021 11:37 am
NetAs pisze: czw sty 14, 2021 11:24 am Chciałbym wyświetlać wynik procentowy, np. ilość wody ale nie w litrach, a w procentach, czy do tego celu wykorzystać (jakiś wirtualny) termometr czy może wykorzystać licznik wody ?
Jaki kanał i jaki sensor Cię interesuje?
Przykład: mam wartość 56
Chcę ją pokazać w supli jako 56%, jak to zrobić?
Myślałem aby wrzucić wartość do value termomentra
Awatar użytkownika
Robert Błaszczak
Posty: 3970
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontakt:

Najsensowniej poczekać na kanał uniwersalny.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

Robert Błaszczak pisze: czw sty 14, 2021 12:01 pm Najsensowniej poczekać na kanał uniwersalny.
A będzie taki kanał ?
można też czujnik temp i wilgotności, wtedy jako wartość temp wpisać np. wysokość do lustra wody, a w procentach wpisywać % zapełnienia. Ok czekamy.
ODPOWIEDZ

Wróć do „FAQ / Jak to zrobić”