remove double oo
[GroveSensor] / GroveSensor.ino
diff --git a/GroveSensor.ino b/GroveSensor.ino
new file mode 100644 (file)
index 0000000..204553a
--- /dev/null
@@ -0,0 +1,96 @@
+#include <Arduino.h>
+#include <U8x8lib.h>
+
+#include "DHT.h"
+
+#include <Adafruit_BMP280.h>
+
+U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
+
+// U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display
+
+#define DHTPIN 3     // what pin we're connected to
+#define DHTTYPE DHT11   // DHT 11 
+
+DHT dht(DHTPIN, DHTTYPE);
+
+
+Adafruit_BMP280 bmp; // I2C
+
+
+#define BUTTON_PIN 6 
+void setup(void) {
+  //u8x8.setBusClock(100000);  // If you breakout other modules, please enable this line
+  u8x8.begin();
+  u8x8.setPowerSave(0);
+  u8x8.setFlipMode(1);
+
+  Serial.begin(115200);
+
+  dht.begin();
+
+  if (!bmp.begin()) {
+    Serial.println(F("Could not find a valid BMP280 sensor!"));
+  }
+
+  /* Default settings from datasheet. */
+  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,     /* Operating Mode. */
+                  Adafruit_BMP280::SAMPLING_X2,     /* Temp. oversampling */
+                  Adafruit_BMP280::SAMPLING_X16,    /* Pressure oversampling */
+                  Adafruit_BMP280::FILTER_X16,      /* Filtering. */
+                  Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
+
+  pinMode(BUTTON_PIN, OUTPUT);
+
+}
+
+unsigned long button_timeout;
+void loop(void) {
+
+  int oled_active = ! digitalRead(BUTTON_PIN);
+  u8x8.setPowerSave( oled_active );
+
+  float temp, humi;
+  temp = dht.readTemperature();
+  humi = dht.readHumidity();
+
+  u8x8.setFont(u8x8_font_chroma48medium8_r);
+  u8x8.setCursor(0, 0);
+  //u8x8.print("Temp:");
+  u8x8.print(temp);
+  u8x8.print("C ");
+  Serial.print("dht_temp=");
+  Serial.print(temp);
+
+  temp = bmp.readTemperature();
+  u8x8.print( temp );
+  Serial.print(",bmp_temp=");
+  Serial.print(temp);
+
+  u8x8.print(" ");
+
+  u8x8.setCursor(0,9);
+  u8x8.print("Humidity:");
+  u8x8.print(humi);
+  u8x8.print("%");
+  Serial.print(",dht_humidity=");
+  Serial.print(humi);
+
+  float pressure;
+  pressure = bmp.readPressure();
+
+  u8x8.setCursor(0,18);
+  u8x8.print( pressure );
+  Serial.print(",bmp_pressure=");
+  Serial.print(pressure);
+
+  Serial.println();
+
+  u8x8.refreshDisplay();
+  delay(1000);
+
+}
+