6 #include <Adafruit_BMP280.h>
8 U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
10 // U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display
13 #define DHTPIN 3 // what pin we're connected to
14 #define DHTTYPE DHT11 // DHT 11
16 DHT dht(DHTPIN, DHTTYPE);
19 Adafruit_BMP280 bmp; // I2C
25 //u8x8.setBusClock(100000); // If you breakout other modules, please enable this line
35 Serial.println(F("Could not find a valid BMP280 sensor!"));
38 /* Default settings from datasheet. */
39 bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
40 Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
41 Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
42 Adafruit_BMP280::FILTER_X16, /* Filtering. */
43 Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
45 pinMode(BUTTON_PIN, OUTPUT);
49 unsigned long button_timeout;
53 int oled_active = ! digitalRead(BUTTON_PIN);
54 u8x8.setPowerSave( oled_active );
57 temp = dht.readTemperature();
58 humi = dht.readHumidity();
60 u8x8.setFont(u8x8_font_chroma48medium8_r);
62 //u8x8.print("Temp:");
65 Serial.print("dht_temp=");
68 temp = bmp.readTemperature();
70 Serial.print(" bmp_temp=");
76 u8x8.print("Humidity:");
79 Serial.print(" dht_humidity=");
83 pressure = bmp.readPressure();
86 u8x8.print( pressure );
87 Serial.print(" bmp_pressure=");
88 Serial.print(pressure);
92 u8x8.refreshDisplay();