BME280 I2C sensor with OLED display

Dependencies:   mbed OLED_SSD1306_SH1106 BME280

Committer:
cspista
Date:
Thu Feb 03 14:52:47 2022 +0000
Revision:
0:3a9b184392a0
final version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cspista 0:3a9b184392a0 1 #include "mbed.h"
cspista 0:3a9b184392a0 2 #include "BME280.h"
cspista 0:3a9b184392a0 3 #include "Adafruit_SSD1306.h"
cspista 0:3a9b184392a0 4 #include "Adafruit_SSD1306.h"
cspista 0:3a9b184392a0 5
cspista 0:3a9b184392a0 6 I2C i2c(D14,D15);
cspista 0:3a9b184392a0 7
cspista 0:3a9b184392a0 8 BME280 sensor(i2c, 0x76<<1);
cspista 0:3a9b184392a0 9 Adafruit_SH1106_I2c oled(i2c, NC, 0x78, 64, 128); // SH1106 I2C 128x64, with no reset pin
cspista 0:3a9b184392a0 10 // Adafruit_SSD1306_I2c oled(i2c, NC, 0x78, 64, 128); // SSD1306 I2C 128x64, with no reset pin
cspista 0:3a9b184392a0 11 // Adafruit_SSD1306_I2c oled(i2c, NC, 0x78, 32, 128); // SSD1306 I2C 128x32, with no reset pin
cspista 0:3a9b184392a0 12
cspista 0:3a9b184392a0 13 int main()
cspista 0:3a9b184392a0 14 {
cspista 0:3a9b184392a0 15 char fok = 9;
cspista 0:3a9b184392a0 16 i2c.frequency(400000);
cspista 0:3a9b184392a0 17 oled.setRotation(0);
cspista 0:3a9b184392a0 18 oled.clearDisplay();
cspista 0:3a9b184392a0 19 oled.setTextColor(WHITE);
cspista 0:3a9b184392a0 20 oled.setTextSize(2);
cspista 0:3a9b184392a0 21 oled.setTextCursor(10,8);
cspista 0:3a9b184392a0 22 oled.printf("BME280 \r\n demo");
cspista 0:3a9b184392a0 23 oled.display();
cspista 0:3a9b184392a0 24 wait(5.0);
cspista 0:3a9b184392a0 25 while(1) {
cspista 0:3a9b184392a0 26 float tempC = sensor.getTemperature();
cspista 0:3a9b184392a0 27 float pressure = sensor.getPressure();
cspista 0:3a9b184392a0 28 float humidity = sensor.getHumidity();
cspista 0:3a9b184392a0 29 oled.clearDisplay();
cspista 0:3a9b184392a0 30 oled.setTextCursor(20,4);
cspista 0:3a9b184392a0 31 oled.printf("%.1f %cC",tempC,fok);
cspista 0:3a9b184392a0 32 oled.setTextCursor(8,24);
cspista 0:3a9b184392a0 33 oled.printf("%.1f hPa",pressure/0.985);
cspista 0:3a9b184392a0 34 oled.setTextCursor(20,44);
cspista 0:3a9b184392a0 35 oled.printf("%.0f %%",humidity);
cspista 0:3a9b184392a0 36 oled.display();
cspista 0:3a9b184392a0 37 wait(2);
cspista 0:3a9b184392a0 38 }
cspista 0:3a9b184392a0 39 }