Skocz do zawartości

Czujnik poziomu szamba


Krisk

Pomocna odpowiedź

1 godzinę temu, Krisk napisał:

musi być 0&1.

Absolutnie nie musi.

Natomiast nie może być 11, gdyż w ESP32 jest to GPIO wykorzystywane przez moduł pamięci flash.

Link do komentarza
Share on other sites

26 minut temu, jand napisał:

Absolutnie nie musi.

Natomiast nie może być 11, gdyż w ESP32 jest to GPIO wykorzystywane przez moduł pamięci flash.

Niestety na UNO inne niż 0/1 nie działały poprawnie, choć pewnie nie próbowałem wszystkich kombinacji.
Na ESP8266 mam 12/13 i jest ok.

ESP12- niestety nie działa poprawnie, być może przez to, że są 3,3V- choć dokumentacja mówi, że powinno działać też, to nie do końca tak jest.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

2 godziny temu, ethanak napisał:

Ale ESP12 to przecież 8266. A pisałem i 13/14 a nie 12/13 (dwunastka to jednak strapping pin i jak nie musisz to go unikaj).

 

Mam 2 płytki:

8266- D1R1 tutaj działa na 12/13 i 13/14

obraz.thumb.png.0a04f5d524e5914c6ae750adb9731bfe.png

I 8266/ 12E - tu nie mogłem odpalić.

Kombinowałem 13/14, 1/3 a finalnie poszło na 4/5.

obraz.thumb.png.b67be1d90a3bd77da43841645a5c4ead.png

 

  • Lubię! 1
Link do komentarza
Share on other sites

Próbuję teraz wkomponować ten pomiar w kod wykorzystujący powiadomienia na Telegram, mam problem z pokazaniem distance w wiadomości.

Wpisałem taki kawałek i chciałem przywołać parametr distance, który jest wyświetlany na serial print, jednak podczas kompilacji otrzymuję błąd:

Compilation error: conversion from 'int' to 'const String' is ambiguous

Jak to uzyskać?

Pomiar odbywa się w pętli, a wiadomości są przed loop...

if (text == "/poziom")

{
   bot.sendMessage(chat_id, (distance), "");
      }

 

Link do komentarza
Share on other sites

2 godziny temu, Krisk napisał:

Compilation error: conversion from 'int' to 'const String' is ambiguous

 

 

A nie jest tak że sendmessage() jako parametr do wysłania przyjmuje String lub tablice znaków?? A Ty tam upychasz int'a...spróbuj wysłać jakiś tekst, jak pójdzie to distance sobie przekonwertuje na String (zgaduje 🤭)

Link do komentarza
Share on other sites

38 minut temu, farmaceuta napisał:

A nie jest tak że sendmessage() jako parametr do wysłania przyjmuje String lub tablice znaków?? A Ty tam upychasz int'a...spróbuj wysłać jakiś tekst, jak pójdzie to distance sobie przekonwertuje na String (zgaduje 🤭)

Masz rację, zrobiłem tak i jest ok.

        String message = "Poziom szamba: " + String(distance) + " cm";
        bot.sendMessage(CHAT_ID, message, "");

Dzięki!

Link do komentarza
Share on other sites

Dziś uruchomiłem prototyp, zamocowałem czujnik stabilnie pod pokrywą szamba, kontroler był na zewnątrz w pudełku, zasilanie z powerbanka. Pierwsze 45min było w miarę ok, potem co kilka, kilkanaście minut otrzymywałem komunikaty. Stan minimum mam określony na 70cm, poziom był na ok 175cm. Komunikaty tak wyglądały:

obraz.thumb.png.0dead0f79f64f03dbbd50833e4f33178.png

Nie wiem z czego wynikają te zakłócenia, czujnik jest stabilnie zamocowany.

Chyba powinienem ograniczyć częstotliwość pomiarów, tak na prawdę to wystarczą 2-3 pomiary na dobę, ale wyniki powinny być wiarygodne.

Czy można stosować pętle w takim długim okresie? Ewentualnie zastosować zegar czasu rzeczywistego i ustalić w jakich godzinach powinien być pomiar- ale z wykluczeniem zakłóceń. Podpowiecie coś?

 

Link do komentarza
Share on other sites

Myślę że na millis() by wystarczyło...przecież nie potrzebujesz tutaj otrzymywać komunikaty dokładnie co do sekundy... może przed wysłaniem pomiarów spróbuj zrobić np. 20 pomiarów i je uśrednić..błąd na pewno będzie mniejszy, no i zainteresuj się trybami uśpienia ESP, bo jak to ciągle będzie połączone z wifi to baterii nie nadazysz wymieniać 😉

  • Lubię! 2
Link do komentarza
Share on other sites

Uśrednianie pomiarów ma sens, jeśli są one w miarę zbliżone - a tutaj jest raz 175, a raz 27 cm. Średnia z tych pomiarów będzie bez sensu.

Jeśli czujnik działa prawidłowo poza szambem, a błędy zaczynają się dopiero po instalacji w komorze, to ich przyczyną mogą być odbicia fali dźwiękowej od ścian "kominka", czy od jakiejś rury osłonowej. Czujniki te mają szeroki kąt działania i łatwo łapią zakłócenia. Obniż czujnik maksymalnie jak się da.

  • Lubię! 1
Link do komentarza
Share on other sites

Jeśliby tych odbić nie udało by się okiełznać, to można zrobić tak:

Wygląda na to, że wartości fałszywych pomiarów są zawsze mniejsze, niż wartość rzeczywista. Robimy więc serię pomiarów (np. 20 pomiarów co parę sekund) i wyszukujemy wśród nich `wynik o największej wartości, który traktujemy jako końcowy. Albo ewentualnie wyliczamy średnią z kilku najwyższych wartości.

Link do komentarza
Share on other sites

A cos jak w czujnikach ToF? Mniej więcej coś takiego: czasy spoza pewnego zakresu nie są brane pod uwagę, z pozostałych szukamy okna o największym zagęszczeniu i tu liczymy średnią... 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.