Czujnik ciśnienia atmosferycznego.

Awatar użytkownika
shimano73
Posty: 1950
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

Mam problem z czujnikiem prędkości wiatru wiatru, którą wyliczam z czasu jaki upłynął od impulsu do impulsu.
Po wstawieniu przerwania za pomocą którego mierzę czas program się notorycznie restaruje. Czasem zdąży się zalogować do sieci a czasem nie .
To jest w setup'ie

Kod: Zaznacz cały

 attachInterrupt(digitalPinToInterrupt(WindImpuls), rpm_fan, FALLING); 
 

Kod: Zaznacz cały

void rpm_fan() {
  unsigned long static last_event = 0;
  if (millis() - last_event < 5) {   //debouncing
    return;
  }
  half_revolution_time = (millis() - last_event);
  last_event = millis();
}
To jest w pętli głównej :

Kod: Zaznacz cały

  if (millis() - lastmillis >= 1000) {    //Aktualizuj co sekundę, będzie to równoznaczne z odczytem częstotliwości (Hz)

    lastmillis = millis();          // Aktualizacja lastmillis
    
    noInterrupts();                   // W trakcie kalkulacji wyłącz obsługę przerwań„
    
    if (half_revolution_time>0) rpm = (30000 / half_revolution_time) ;      
    interrupts() ; //Przywrócenie przerwania
    if (rpm>0) {
      mph = diameter / 12 * 3.14 * rpm * 60 / 5280;//Odczyt prędkości wiatru w milach/godzinę
      mph = mph * 3.5; // Kalibracja błędu odczytu, wartość  należy dobrać we własnym zakresie
      kmh = mph * 1.609;// Zamiana mil/godzinę na km/h
      ms = kmh / 3.6;     
  
    }
       pomiar[licz_pomiar]=ms;  
      if ((pomiar[0]==pomiar[1]) and (pomiar[1]==pomiar[2]) and (pomiar[2]==pomiar[3])) {
          ms=0;      
      }
      licz_pomiar=licz_pomiar+1;    
      if (licz_pomiar==4) licz_pomiar=0;
    
    }
To działa mi w moim programie w standardowej wersji - bez aktualizacji po wifi i konfiguracji po www
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

@elmaya podpowiedział mi wcześniej coś takiego. Nie testowałem z braku obecnie czasu ale też się muszę za to wziąść.
https://forum.supla.org/viewtopic.php? ... 1#p32401
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
shimano73
Posty: 1950
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

QLQ pisze: pn lut 04, 2019 8:30 pm @elmaya podpowiedział mi wcześniej coś takiego. Nie testowałem z braku obecnie czasu ale też się muszę za to wziąść.
https://forum.supla.org/viewtopic.php? ... 1#p32401
dzięki, mi rownież podpowiedział, jutro sprawdzę... mam nadzieję :D
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
mihu
Posty: 159
Rejestracja: śr lut 28, 2018 6:00 pm

QLQ pisze: ndz sty 27, 2019 3:15 pm
QLQ pisze: sob sty 26, 2019 6:26 pm
byniom pisze: sob sty 26, 2019 4:11 pm Wgrałem program i ustawiłem po zaprogramowaniu ale supla go nie widzi . Mam dwa czujniki i na dwóch to samo . Tak się zastanawiam bo ja mma czujnik BMP280 ale są też czujniki BME280 i czy czasem ten co ja mam jest nie odpowiedni ?
Będę jutro z powrotem w domu to tak ookoło 18 podeślę ino pod Ide z czujnikiem bmp280. W kodzie zamienia się praktycznie tylko bme na bmp i trzeba wyremowac wilgotność której bmp nie ma.
Zgodnie z obietnicą:
biblioteki.rar oraz kod w Adruino.ide
Zamień je bo inaczej nie skompilujesz : rozpakuj katalogi SuplaDevice oraz BMP280 do "libraries" - po prostu je zamień

Kod źródłowy
BMP280_TEMT6000.rar // bazą jest tu kod @shimano73 pod BME280

Musisz sam przekompilować z własnymi danymi SSID sieci , hasłem do WiFi, wpisać adres serwera w Cluoud, ID , hasło. Wszystko jest opisane komentarzem "// że tu wpisać hasło
// a tu SSID" w kodzie.

Czujnik BMP280 jest na adresie 0x76. Magistrala jest na D1 i D2 w WeMos (GPIO4, GPIO5). Arduino wstawiasz dla Wemos lub innego układu jaki masz np ESP8266.

Działa bo przed wrzuceniem sprawdzałem (UWAGA - czujnik ciśnienia tylko wyświetla na apce @lesny@- tu viewtopic.php?f=24&t=4323):

Clip_4.jpg
Działa z bmp .tylko rozgłasza niepotrzebnie ESP
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

mihu pisze: wt lut 05, 2019 5:22 pm
QLQ pisze: ndz sty 27, 2019 3:15 pm
QLQ pisze: sob sty 26, 2019 6:26 pm

Będę jutro z powrotem w domu to tak ookoło 18 podeślę ino pod Ide z czujnikiem bmp280. W kodzie zamienia się praktycznie tylko bme na bmp i trzeba wyremowac wilgotność której bmp nie ma.
Zgodnie z obietnicą:
biblioteki.rar oraz kod w Adruino.ide
Zamień je bo inaczej nie skompilujesz : rozpakuj katalogi SuplaDevice oraz BMP280 do "libraries" - po prostu je zamień

Kod źródłowy
BMP280_TEMT6000.rar // bazą jest tu kod @shimano73 pod BME280

Musisz sam przekompilować z własnymi danymi SSID sieci , hasłem do WiFi, wpisać adres serwera w Cluoud, ID , hasło. Wszystko jest opisane komentarzem "// że tu wpisać hasło
// a tu SSID" w kodzie.

Czujnik BMP280 jest na adresie 0x76. Magistrala jest na D1 i D2 w WeMos (GPIO4, GPIO5). Arduino wstawiasz dla Wemos lub innego układu jaki masz np ESP8266.

Działa bo przed wrzuceniem sprawdzałem (UWAGA - czujnik ciśnienia tylko wyświetla na apce @lesny@- tu viewtopic.php?f=24&t=4323):

Clip_4.jpg
Działa z bmp .tylko rozgłasza niepotrzebnie ESP

SUPLA_BME280_{MAC} ?
jak coś nie działa to włącz zasilanie.....
mihu
Posty: 159
Rejestracja: śr lut 28, 2018 6:00 pm

działa ale rozgłasza ESP_25744F
tu mam tak

// Ethernet MAC address
uint8_t mac[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; // nic tu nie wpisywac


SuplaDevice.begin(GUID, // Global Unique Identifier nic tu nie wpisujemy
mac, // Ethernet MAC address - nic tu nie wpisujemy
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

hmmm
W kodzie nie ma nic co mogło by rozgłaszać ESP. Muszą to być jakieś pozostałości po poprzednim firmware. Miałem właśnie tak z softem BME @Yepetis. Musiałem wyorać blankiem większym niż 1MB.
jak coś nie działa to włącz zasilanie.....
Yepestis
Posty: 605
Rejestracja: pn wrz 24, 2018 6:08 pm
Lokalizacja: Wrocław

QLQ pisze: wt lut 05, 2019 6:32 pm hmmm
W kodzie nie ma nic co mogło by rozgłaszać ESP. Muszą to być jakieś pozostałości po poprzednim firmware. Miałem właśnie tak z softem BME @Yepetis. Musiałem wyorać blankiem większym niż 1MB.
I tu nie ma nic dziwnego bo w modułach z pamięcią flash większą niż 1MB warto jednak wyczyścić całość a nie tylko 1MB
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

Dodaj taką linijkię:

Kod: Zaznacz cały

  WiFi.softAPdisconnect(true); // wyłączenie rozgłaszania sieci ESP
w void setup i nie będzie rozgłaszać.
Pozdrawiam
Wojtek
mihu
Posty: 159
Rejestracja: śr lut 28, 2018 6:00 pm

wojtas567 pisze: wt lut 05, 2019 7:41 pm Dodaj taką linijkię:

Kod: Zaznacz cały

  WiFi.softAPdisconnect(true); // wyłączenie rozgłaszania sieci ESP
w void setup i nie będzie rozgłaszać.
ok
dzięki pomogła linijka
:D
ODPOWIEDZ

Wróć do „Android”