added serial output
[GroveSensor] / GrooveSensor.ino
1 #include <Arduino.h>
2 #include <U8x8lib.h>
3
4 #include "DHT.h"
5
6 #include <Adafruit_BMP280.h>
7
8 U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
9
10 // U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display
11  
12
13 #define DHTPIN 3     // what pin we're connected to
14 #define DHTTYPE DHT11   // DHT 11 
15
16 DHT dht(DHTPIN, DHTTYPE);
17
18
19 Adafruit_BMP280 bmp; // I2C
20  
21  
22 void setup(void) {
23   //u8x8.setBusClock(100000);  // If you breakout other modules, please enable this line
24   u8x8.begin();
25   u8x8.setPowerSave(0);
26   u8x8.setFlipMode(1);
27
28   Serial.begin(115200);
29
30   dht.begin();
31
32   if (!bmp.begin()) {
33     Serial.println(F("Could not find a valid BMP280 sensor!"));
34   }
35
36   /* Default settings from datasheet. */
37   bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,     /* Operating Mode. */
38                   Adafruit_BMP280::SAMPLING_X2,     /* Temp. oversampling */
39                   Adafruit_BMP280::SAMPLING_X16,    /* Pressure oversampling */
40                   Adafruit_BMP280::FILTER_X16,      /* Filtering. */
41                   Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
42
43 }
44  
45 void loop(void) {
46
47   float temp, humi;
48   temp = dht.readTemperature();
49   humi = dht.readHumidity();
50
51   u8x8.setFont(u8x8_font_chroma48medium8_r);
52   u8x8.setCursor(0, 0);
53   //u8x8.print("Temp:");
54   u8x8.print(temp);
55   u8x8.print("C ");
56   Serial.print("dht_temp=");
57   Serial.print(temp);
58
59   temp = bmp.readTemperature();
60   u8x8.print( temp );
61   Serial.print(" bmp_temp=");
62   Serial.print(temp);
63
64   u8x8.print(" ");
65
66   u8x8.setCursor(0,9);
67   u8x8.print("Humidity:");
68   u8x8.print(humi);
69   u8x8.print("%");
70   Serial.print(" dht_humidity=");
71   Serial.print(humi);
72
73   float pressure;
74   pressure = bmp.readPressure();
75
76   u8x8.setCursor(0,18);
77   u8x8.print( pressure );
78   Serial.print(" bmp_pressure=");
79   Serial.print(pressure);
80
81   Serial.println();
82
83   u8x8.refreshDisplay();
84   delay(1000);
85
86 }
87