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