Add readings from BME280 sensor
This commit is contained in:
parent
3742bc3ae5
commit
77cbdf47b9
3 changed files with 48 additions and 1 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "libraries/U8g2_Arduino"]
|
||||
path = libraries/U8g2_Arduino
|
||||
url = https://github.com/olikraus/U8g2_Arduino
|
||||
[submodule "libraries/BME280"]
|
||||
path = libraries/BME280
|
||||
url = https://github.com/finitespace/BME280.git
|
||||
|
|
|
@ -9,11 +9,16 @@
|
|||
#include <SPI.h>
|
||||
#endif
|
||||
|
||||
#include <BME280I2C.h>
|
||||
#include <Wire.h>
|
||||
|
||||
U8X8_SSD1327_EA_W128128_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
|
||||
|
||||
BME280I2C bme; // Default : forced mode, standby time = 1000 ms
|
||||
// Oversampling = pressure ×1, temperature ×1, humidity ×1, filter off,
|
||||
|
||||
// setup the terminal (U8X8LOG) and connect to u8g2 for automatic refresh of the display
|
||||
// The size (width * height) depends on the display
|
||||
|
||||
#define U8LOG_WIDTH 16
|
||||
#define U8LOG_HEIGHT 12
|
||||
uint8_t u8log_buffer[U8LOG_WIDTH*U8LOG_HEIGHT];
|
||||
|
@ -49,12 +54,50 @@ void setup() {
|
|||
u8x8log.print("\n");
|
||||
u8x8log.print("\n");
|
||||
|
||||
//Init BME280 sensor
|
||||
Wire.begin();
|
||||
|
||||
while(!bme.begin())
|
||||
{
|
||||
u8x8log.print("Could not find BME280 sensor!\n");
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
switch(bme.chipModel())
|
||||
{
|
||||
case BME280::ChipModel_BME280:
|
||||
u8x8log.print("Found BME280 sensor! Success.\n");
|
||||
break;
|
||||
case BME280::ChipModel_BMP280:
|
||||
u8x8log.print("Found BMP280 sensor! No Humidity available.\n");
|
||||
break;
|
||||
default:
|
||||
u8x8log.print("Found UNKNOWN sensor! Error!\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
//Clear screen
|
||||
u8x8log.print("\f");
|
||||
|
||||
float temp(NAN), hum(NAN), pres(NAN);
|
||||
BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
|
||||
BME280::PresUnit presUnit(BME280::PresUnit_Pa);
|
||||
|
||||
bme.read(pres, temp, hum, tempUnit, presUnit);
|
||||
|
||||
u8x8log.print("Temp: ");
|
||||
u8x8log.print(temp);
|
||||
u8x8log.print("°"+ String(tempUnit == BME280::TempUnit_Celsius ? 'C' :'F'));
|
||||
u8x8log.print("\nHumidity: ");
|
||||
u8x8log.print(hum);
|
||||
u8x8log.print("% RH");
|
||||
u8x8log.print("\nPressure: ");
|
||||
u8x8log.print(pres);
|
||||
u8x8log.print("Pa\n");
|
||||
|
||||
delay(10000);
|
||||
|
||||
}
|
||||
|
|
1
libraries/BME280
Submodule
1
libraries/BME280
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 7a211f03aa3ac5567b14e2cbc12ac21e185b6e0b
|
Loading…
Reference in a new issue