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
28 //u8x8.setBusClock(100000); // If you breakout other modules, please enable this line
38 Serial.println(F("Could not find a valid BMP280 sensor!"));
41 /* Default settings from datasheet. */
42 bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
43 Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
44 Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
45 Adafruit_BMP280::FILTER_X16, /* Filtering. */
46 Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
48 pinMode(BUTTON_PIN, OUTPUT);
49 pinMode(SOUND_PIN, INPUT);
50 pinMode(LIGHT_PIN, INPUT);
54 unsigned long button_timeout;
58 int oled_active = ! digitalRead(BUTTON_PIN);
59 u8x8.setPowerSave( oled_active );
62 temp = dht.readTemperature();
63 humi = dht.readHumidity();
65 u8x8.setFont(u8x8_font_chroma48medium8_r);
67 //u8x8.print("Temp:");
70 Serial.print("dht_temp=");
73 temp = bmp.readTemperature();
75 Serial.print(",bmp_temp=");
80 u8x8.setCursor(0,1 * 9);
81 u8x8.print("Humidity:");
84 Serial.print(",dht_humidity=");
88 pressure = bmp.readPressure();
90 u8x8.setCursor(0,2 * 9);
91 u8x8.print( pressure );
92 Serial.print(",bmp_pressure=");
93 Serial.print(pressure);
95 int sound = analogRead(SOUND_PIN);
96 u8x8.setCursor(0,3 * 9);
98 Serial.print(",sound=");
101 int light = analogRead(LIGHT_PIN);
102 u8x8.setCursor(0,3 * 9);
104 Serial.print(",light=");
108 u8x8.refreshDisplay();