collect temperature, humidify and pressure
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 10 Dec 2020 12:23:47 +0000 (13:23 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 10 Dec 2020 12:23:47 +0000 (13:23 +0100)
GrooveSensor.ino [new file with mode: 0644]

diff --git a/GrooveSensor.ino b/GrooveSensor.ino
new file mode 100644 (file)
index 0000000..c5c912d
--- /dev/null
@@ -0,0 +1,77 @@
+#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
+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. */
+
+}
+void loop(void) {
+
+  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 ");
+
+  temp = bmp.readTemperature();
+  u8x8.print( temp );
+
+  u8x8.print(" ");
+
+  u8x8.setCursor(0,9);
+  u8x8.print("Humidity:");
+  u8x8.print(humi);
+  u8x8.print("%");
+
+  float pressure;
+  pressure = bmp.readPressure();
+
+  u8x8.setCursor(0,18);
+  u8x8.print( pressure );
+
+  u8x8.refreshDisplay();
+  delay(200);
+
+}
+