delay 10s

Dependencies:   HX711 DHT DS1820

Revision:
0:2e0fc2c1e24c
Child:
1:b811fd6ee6f5
diff -r 000000000000 -r 2e0fc2c1e24c main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Oct 12 10:37:18 2020 +0000
@@ -0,0 +1,57 @@
+#include "mbed.h"
+#include "DHT.h"
+#include "DS1820.h"
+
+#define   DHT_DATA_PIN  D4
+
+DS1820      ds1820(D3);  // substitute D8 with the actual pin name connected to the DS1820 sensor
+float       temp = 0;
+int         result = 0;
+
+DHT sensor(DHT_DATA_PIN, DHT22);                    //DHT(PinName pin, eType DHTtype)
+Serial pc(USBTX, USBRX); // tx, rx
+
+Serial device(D1, D0); // tx, rx
+
+int main()
+{
+    int error = 0;
+    float h = 0.0f, c = 0.0f;
+    pc.baud(9600);
+    device.baud(9600);
+    
+    if (!ds1820.begin()){
+        pc.printf("No DS1820 sensor found!\r\n");
+    }
+    else{
+        pc.printf("DS1820 sensor found!\r\n");
+    }
+    
+    while(1) {
+        
+        ds1820.startConversion();   // start temperature conversion from analog to digital
+        ThisThread::sleep_for(1000);// let DS1820 complete the temperature conversion
+        result = ds1820.read(temp); // read temperature from DS1820 and perform cyclic redundancy check (CRC)
+        error = sensor.readData();                  //read error value
+            
+        c   = sensor.ReadTemperature(CELCIUS);
+        h   = sensor.ReadHumidity();
+        pc.printf("temperature = %4.2f\r\n", c);  // on affiche les valeurs sur teraTerm pour debug
+        pc.printf("Humidite = %4.2f\r\n", h);
+            
+        switch (result) {
+            case 0:                 // no errors -> 'temp' contains the value of measured temperature
+                pc.printf("temp DS18B20 = %3.1f\r\n", temp);
+                break;
+
+            case 1:                 // no sensor present -> 'temp' was not updated
+                pc.printf("no sensor present\n\r");
+                break;
+
+            case 2:                 // CRC error -> 'temp' was not updated
+                pc.printf("CRC error\r\n");
+        }
+        device.printf("AT$SF=%02X%02X%02X\r\n", (char) c,(char) h, (char) temp);  // on envoie les données sur l'antenne
+        wait(2.0f);
+    }
+}