Page 7 of 11

Re: Czujnik ciśnienia atmosferycznego.

Posted: Mon Feb 04, 2019 5:33 pm
by shimano73
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

Code: Select all

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

Code: Select all

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 :

Code: Select all

  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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Mon Feb 04, 2019 8:30 pm
by QLQ
@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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Mon Feb 04, 2019 9:16 pm
by shimano73
QLQ wrote:
Mon Feb 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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 5:22 pm
by mihu
QLQ wrote:
Sun Jan 27, 2019 3:15 pm
QLQ wrote:
Sat Jan 26, 2019 6:26 pm
byniom wrote:
Sat Jan 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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 5:30 pm
by QLQ
mihu wrote:
Tue Feb 05, 2019 5:22 pm
QLQ wrote:
Sun Jan 27, 2019 3:15 pm
QLQ wrote:
Sat Jan 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} ?

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 6:28 pm
by mihu
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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 6:32 pm
by QLQ
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.

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 7:30 pm
by Yepestis
QLQ wrote:
Tue Feb 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

Re: Czujnik ciśnienia atmosferycznego.

Posted: Tue Feb 05, 2019 7:41 pm
by wojtas567
Dodaj taką linijkię:

Code: Select all

  WiFi.softAPdisconnect(true); // wyłączenie rozgłaszania sieci ESP
w void setup i nie będzie rozgłaszać.

Re: Czujnik ciśnienia atmosferycznego.

Posted: Thu Feb 07, 2019 4:16 pm
by mihu
wojtas567 wrote:
Tue Feb 05, 2019 7:41 pm
Dodaj taką linijkię:

Code: Select all

  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