Wemos + BME280+dht + oled - problem kanłami
: wt lip 09, 2019 3:54 pm
Witam,
Chciałem napisać soft (bazując na przykłądach z forum) tak by na 1 wemosie działał OLED BME280 oraz DHT22.
Przy pierwszym uruchomieniu wszystko się łądnie zaczytujei i odczyty w aplikacji są poprawne (pierwsze zaczytane wartości). Kolejny odczyt danych przez suple odbywa się tylko dla kanałów 0 i 1, a nie dla kanału 2 ( na oledzie oraz na porcie szeregowym wszystko ok).
Poniżej kawałek kodu z którym mam problem:
Oraz kanały jakie mam utworzone:
Z góry dziękuje za pomoc
Chciałem napisać soft (bazując na przykłądach z forum) tak by na 1 wemosie działał OLED BME280 oraz DHT22.
Przy pierwszym uruchomieniu wszystko się łądnie zaczytujei i odczyty w aplikacji są poprawne (pierwsze zaczytane wartości). Kolejny odczyt danych przez suple odbywa się tylko dla kanałów 0 i 1, a nie dla kanału 2 ( na oledzie oraz na porcie szeregowym wszystko ok).
Poniżej kawałek kodu z którym mam problem:
Kod: Zaznacz cały
double get_pressure(int channelNumber, double pressure) {
switch(channelNumber){
case 0:
pressure =((bme.readPressure() /100)) ; // pow(1.0-0.0065*altitude / (bme.readTemperature()+273.15),5.255));
Serial.print("Ciśnienie = ");
Serial.print(pressure);
Serial.println(" *hPa");
return pressure;
break; }
}
// BME280 Sensor read implementation
void get_temperature_and_humidity(int channelNumber, double *temp, double *humidity) {
switch(channelNumber){
case 1:
// BME280 Sensor read implementation
*temp = bme.readTemperature();
*humidity = bme.readHumidity();
Serial.print("BME Temp: ");
Serial.print(*temp);
Serial.print(" Wilgotność : ");
Serial.println(*humidity);
if ( isnan(*temp) || isnan(*humidity) ) {
*temp = -275;
*humidity = -1;
}
break;
// DHT22 Sensor read implementation
case 2:
*temp = dht_a.readTemperature();
*humidity = dht_a.readHumidity();
Serial.print("DHT Temp: ");
Serial.print(*temp);
Serial.print(" Wilgotność : ");
Serial.println(*humidity);
if ( isnan(*temp) || isnan(*humidity) ) {
*temp = -275;
*humidity = -1;
}
break;
}}
Kod: Zaznacz cały
// CHANNEL 0,1,2
SuplaDevice.addDHT22(); // BME280 termp and humidity
SuplaDevice.addAM2302(); // DHT22
SuplaDevice.addPressureSensor(); // BME280 pressure
Z góry dziękuje za pomoc