[PORADNIK] Arduino IDE

User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

podobnoja wrote: Tue Jun 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ą...

Code: Select all

 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
Posts: 136
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

Code: Select all

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) ?
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

NetAs wrote: Mon Jan 04, 2021 11:09 am

Code: Select all

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
Posts: 136
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

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

Code: Select all

#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

Code: Select all

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ć?
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

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

Code: Select all

#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

Code: Select all

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:

Code: Select all

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
Posts: 136
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

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 ?
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

NetAs wrote: Thu Jan 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
Posts: 136
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

klew wrote: Thu Jan 14, 2021 11:37 am
NetAs wrote: Thu Jan 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
User avatar
Robert Błaszczak
Posts: 4011
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra

Post

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


Moja prywatna strona: www.blaszczak.pl
NetAs
Posts: 136
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

Robert Błaszczak wrote: Thu Jan 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.

Return to “FAQ / Jak to zrobić”