delay 10s

Dependencies:   HX711 DHT DS1820

main.cpp

Committer:
ismatel77
Date:
2020-10-12
Revision:
0:2e0fc2c1e24c
Child:
1:b811fd6ee6f5

File content as of revision 0:2e0fc2c1e24c:

#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);
    }
}