bme280 optimization
This commit is contained in:
parent
e49c5b4ab6
commit
c1c8134530
|
|
@ -35,7 +35,8 @@ The symbol can now be changed without attached display - during normal operation
|
||||||
<br>
|
<br>
|
||||||
<b>Temperature Sensor:</b><br>
|
<b>Temperature Sensor:</b><br>
|
||||||
for DHT22 I used the library from https://github.com/beegee-tokyo/DHTesp, as the standard library gives to many wrong readings<br>
|
for DHT22 I used the library from https://github.com/beegee-tokyo/DHTesp, as the standard library gives to many wrong readings<br>
|
||||||
Now the DS18B20 is supported as well - uncomment line 31: // #define DS18B20 // use this if you use DS18B20, default ist DHT22<br>
|
Now the DS18B20 is supported as well - uncomment line 37: // #define DS18B20 // use this if you use DS18B20, default ist DHT22<br>
|
||||||
|
Now the BME280 is supported as well - uncomment line 38: // #define USE_BME280 // use this if you use BME280, default ist DHT22<br>
|
||||||
<br>
|
<br>
|
||||||
<b>show RX packets</b><br>
|
<b>show RX packets</b><br>
|
||||||
by uncommenting <b>// #define SHOW_RX_PACKET</b> the tracker shows received LoRa APRS packets in raw format for the time in milliseconds defined in SHOW_RX_TIME - both in ...config.h<br>
|
by uncommenting <b>// #define SHOW_RX_PACKET</b> the tracker shows received LoRa APRS packets in raw format for the time in milliseconds defined in SHOW_RX_TIME - both in ...config.h<br>
|
||||||
|
|
|
||||||
|
|
@ -49,10 +49,12 @@
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
#include <OneWire.h> // libraries for DS18B20
|
#include <OneWire.h> // libraries for DS18B20
|
||||||
#include <DallasTemperature.h>
|
#include <DallasTemperature.h>
|
||||||
#elif USE_BME280
|
|
||||||
#include <Adafruit_BME280.h> // BME280 Library
|
|
||||||
#else
|
#else
|
||||||
#include <DHTesp.h> // library from https://github.com/beegee-tokyo/DHTesp for DHT22
|
#ifdef USE_BME280
|
||||||
|
#include <Adafruit_BME280.h> // BME280 Library
|
||||||
|
#else
|
||||||
|
#include <DHTesp.h> // library from https://github.com/beegee-tokyo/DHTesp for DHT22
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#include <driver/adc.h>
|
#include <driver/adc.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
|
@ -240,10 +242,12 @@ void setup_data(void);
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
OneWire oneWire(ONE_WIRE_BUS);
|
OneWire oneWire(ONE_WIRE_BUS);
|
||||||
DallasTemperature sensors(&oneWire);
|
DallasTemperature sensors(&oneWire);
|
||||||
#elif USE_BME280
|
|
||||||
Adafruit_BME280 bme; // if BME is used
|
|
||||||
#else
|
#else
|
||||||
DHTesp dht; // Initialize DHT sensor for normal 16mhz Arduino
|
#ifdef USE_BME280
|
||||||
|
Adafruit_BME280 bme; // if BME is used
|
||||||
|
#else
|
||||||
|
DHTesp dht; // Initialize DHT sensor for normal 16mhz Arduino
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -435,26 +439,30 @@ void setup()
|
||||||
|
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
sensors.begin();
|
sensors.begin();
|
||||||
#elif USE_BME280
|
|
||||||
if (!bme.begin(0x76))
|
|
||||||
{
|
|
||||||
Serial.println("Could not find a valid BME280 sensor, check wiring!");
|
|
||||||
while (1);
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
dht.setup(DHTPIN,dht.AUTO_DETECT); // initialize DHT22
|
#ifdef USE_BME280
|
||||||
|
if (!bme.begin(0x76))
|
||||||
|
{
|
||||||
|
Serial.println("Could not find a valid BME280 sensor, check wiring!");
|
||||||
|
while (1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
dht.setup(DHTPIN,dht.AUTO_DETECT); // initialize DHT22
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
delay(250);
|
delay(250);
|
||||||
|
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
sensors.requestTemperatures(); // Send the command to get temperature readings
|
sensors.requestTemperatures(); // Send the command to get temperature readings
|
||||||
temp = sensors.getTempCByIndex(0); // get temp from 1st (!) sensor only
|
temp = sensors.getTempCByIndex(0); // get temp from 1st (!) sensor only
|
||||||
#elif USE_BME280
|
|
||||||
temp = bme.readTemperature(); // bme Temperatur auslesen
|
|
||||||
hum = bme.readHuminity();
|
|
||||||
#else
|
#else
|
||||||
temp = dht.getTemperature();
|
#ifdef USE_BME280
|
||||||
hum = dht.getHumidity();
|
temp = bme.readTemperature(); // bme Temperatur auslesen
|
||||||
|
hum = bme.readHumidity();
|
||||||
|
#else
|
||||||
|
temp = dht.getTemperature();
|
||||||
|
hum = dht.getHumidity();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
writedisplaytext("LoRa-APRS","","Init:","Temp OK!","TEMP: "+String(temp,1),"HUM: "+String(hum,1),250);
|
writedisplaytext("LoRa-APRS","","Init:","Temp OK!","TEMP: "+String(temp,1),"HUM: "+String(hum,1),250);
|
||||||
Serial.print("LoRa-APRS / Init / Temp OK! Temp=");
|
Serial.print("LoRa-APRS / Init / Temp OK! Temp=");
|
||||||
|
|
@ -522,19 +530,23 @@ void loop() {
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
sensors.requestTemperatures(); // Send the command to get temperature readings
|
sensors.requestTemperatures(); // Send the command to get temperature readings
|
||||||
temp = sensors.getTempCByIndex(0); // get temp from 1st (!) sensor only
|
temp = sensors.getTempCByIndex(0); // get temp from 1st (!) sensor only
|
||||||
#elif USE_BME280
|
|
||||||
temp = bme.readTemperature(); // bme Temperatur auslesen
|
|
||||||
#else
|
#else
|
||||||
temp = dht.getTemperature();
|
#ifdef USE_BME280
|
||||||
|
temp = bme.readTemperature(); // bme Temperatur auslesen
|
||||||
|
#else
|
||||||
|
temp = dht.getTemperature();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
hum_temp=true;
|
hum_temp=true;
|
||||||
#ifdef DS18B20
|
#ifdef DS18B20
|
||||||
hum = 0;
|
hum = 0;
|
||||||
#elif USE_BME280
|
|
||||||
hum = bme.readHuminity();
|
|
||||||
#else
|
#else
|
||||||
hum = dht.getHumidity();
|
#ifdef USE_BME280
|
||||||
|
hum = bme.readHumidity();
|
||||||
|
#else
|
||||||
|
hum = dht.getHumidity();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -827,12 +839,14 @@ switch(tracker_mode) {
|
||||||
sensors.requestTemperatures(); // Send the command to get temperature readings
|
sensors.requestTemperatures(); // Send the command to get temperature readings
|
||||||
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
||||||
hum = 0;
|
hum = 0;
|
||||||
#elif USE_BME280
|
|
||||||
temp = bme.readTemperature();
|
|
||||||
hum = bme.readHuminity();
|
|
||||||
#else
|
#else
|
||||||
hum = dht.getHumidity();
|
#ifdef USE_BME280
|
||||||
tempf = dht.getTemperature()*9/5+32;
|
temp = bme.readTemperature();
|
||||||
|
hum = bme.readHumidity();
|
||||||
|
#else
|
||||||
|
hum = dht.getHumidity();
|
||||||
|
tempf = dht.getTemperature()*9/5+32;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
for (i=0; i<wxTcall.length();++i){ // remove unneeded "spaces" from callsign field
|
for (i=0; i<wxTcall.length();++i){ // remove unneeded "spaces" from callsign field
|
||||||
if (wxTcall.charAt(i) != ' ') {
|
if (wxTcall.charAt(i) != ' ') {
|
||||||
|
|
@ -875,12 +889,14 @@ switch(tracker_mode) {
|
||||||
sensors.requestTemperatures(); // Send the command to get temperature readings
|
sensors.requestTemperatures(); // Send the command to get temperature readings
|
||||||
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
||||||
hum = 0;
|
hum = 0;
|
||||||
#elif USE_BME280
|
|
||||||
temp = bme.readTemperature(); // bme Temperatur auslesen
|
|
||||||
hum = bme.readHuminity();
|
|
||||||
#else
|
#else
|
||||||
hum = dht.getHumidity();
|
#ifdef USE_BME280
|
||||||
tempf = dht.getTemperature()*9/5+32;
|
temp = bme.readTemperature(); // bme Temperatur auslesen
|
||||||
|
hum = bme.readHumidity();
|
||||||
|
#else
|
||||||
|
hum = dht.getHumidity();
|
||||||
|
tempf = dht.getTemperature()*9/5+32;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef TX_BASE91
|
#ifndef TX_BASE91
|
||||||
for (i=0; i<wxTcall.length();++i){ // remove unneeded "spaces" from callsign field
|
for (i=0; i<wxTcall.length();++i){ // remove unneeded "spaces" from callsign field
|
||||||
|
|
@ -1000,12 +1016,14 @@ case WX_MOVE:
|
||||||
sensors.requestTemperatures(); // Send the command to get temperature readings
|
sensors.requestTemperatures(); // Send the command to get temperature readings
|
||||||
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
tempf = sensors.getTempFByIndex(0); // get temp from 1st (!) sensor only
|
||||||
hum = 0;
|
hum = 0;
|
||||||
#elif USE_BME280
|
|
||||||
temp = bme.readTemperature(); // bme Temperatur auslesen
|
|
||||||
hum = bme.readHuminity();
|
|
||||||
#else
|
#else
|
||||||
hum = dht.getHumidity();
|
#ifdef USE_BME280
|
||||||
tempf = dht.getTemperature()*9/5+32;
|
temp = bme.readTemperature(); // bme Temperatur auslesen
|
||||||
|
hum = bme.readHumidity();
|
||||||
|
#else
|
||||||
|
hum = dht.getHumidity();
|
||||||
|
tempf = dht.getTemperature()*9/5+32;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue