From 6b56b3f9b68d5a483a4d0427e59e4c36f182b48b Mon Sep 17 00:00:00 2001 From: Max <ḿax.seyfried@gmx.de> Date: Tue, 23 Jun 2020 15:54:52 +0200 Subject: [PATCH] created some reading methods --- src/header.h | 8 ++++- src/temperatureSensor.cpp | 67 ++++++++++----------------------------- 2 files changed, 23 insertions(+), 52 deletions(-) diff --git a/src/header.h b/src/header.h index c8839bc..2d52083 100644 --- a/src/header.h +++ b/src/header.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -20,4 +21,9 @@ extern int loopCapacitiveSoilMoistureSensor(); // light extern void setupLightSensor(); -extern int readLightSensorValue(); \ No newline at end of file +extern int readLightSensorValue(); + +// temperature & humidity +extern void setupTemperatureSensor(); +extern int readHumidity(); +extern int readTemperature(); \ No newline at end of file diff --git a/src/temperatureSensor.cpp b/src/temperatureSensor.cpp index a26438d..53789b6 100644 --- a/src/temperatureSensor.cpp +++ b/src/temperatureSensor.cpp @@ -2,66 +2,31 @@ #define DHTPIN 4 -#define DHTTYPE DHT11 // DHT 11 +#define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); -uint32_t delayMS; - void setupTemperatureSensor() { Serial.begin(9600); - // Initialize device. dht.begin(); - Serial.println(F("DHT11 Unified Sensor Example")); - // Print temperature sensor details. + Serial.println(F("DHT11 Unified Sensor Ready")); sensor_t sensor; dht.temperature().getSensor(&sensor); - Serial.println(F("------------------------------------")); - Serial.println(F("Temperature Sensor")); - Serial.print (F("Sensor Type: ")); Serial.println(sensor.name); - Serial.print (F("Driver Ver: ")); Serial.println(sensor.version); - Serial.print (F("Unique ID: ")); Serial.println(sensor.sensor_id); - Serial.print (F("Max Value: ")); Serial.print(sensor.max_value); Serial.println(F("°C")); - Serial.print (F("Min Value: ")); Serial.print(sensor.min_value); Serial.println(F("°C")); - Serial.print (F("Resolution: ")); Serial.print(sensor.resolution); Serial.println(F("°C")); - Serial.println(F("------------------------------------")); - // Print humidity sensor details. - dht.humidity().getSensor(&sensor); - Serial.println(F("Humidity Sensor")); - Serial.print (F("Sensor Type: ")); Serial.println(sensor.name); - Serial.print (F("Driver Ver: ")); Serial.println(sensor.version); - Serial.print (F("Unique ID: ")); Serial.println(sensor.sensor_id); - Serial.print (F("Max Value: ")); Serial.print(sensor.max_value); Serial.println(F("%")); - Serial.print (F("Min Value: ")); Serial.print(sensor.min_value); Serial.println(F("%")); - Serial.print (F("Resolution: ")); Serial.print(sensor.resolution); Serial.println(F("%")); - Serial.println(F("------------------------------------")); - // Set delay between sensor readings based on sensor details. - delayMS = sensor.min_delay / 1000; + } -void loopTemperatureSensor() { - // Delay between measurements. - delay(delayMS); - // Get temperature event and print its value. - sensors_event_t event; - dht.temperature().getEvent(&event); - if (isnan(event.temperature)) { - Serial.println(F("Error reading temperature!")); - } - else { - Serial.print(F("Temperature: ")); - Serial.print(event.temperature); - Serial.println(F("°C")); - } - // Get humidity event and print its value. - dht.humidity().getEvent(&event); - if (isnan(event.relative_humidity)) { - Serial.println(F("Error reading humidity!")); - } - else { - Serial.print(F("Humidity: ")); - Serial.print(event.relative_humidity); - Serial.println(F("%")); - } +// Get humidity event and its value. +int readHumidity(){ + + sensors_event_t event; + dht.humidity().getEvent(&event); + return event.relative_humidity; +} + +// Get temperature event and its value. +int readTemperature(){ + sensors_event_t event; + dht.temperature().getEvent(&event); + return event.temperature; } \ No newline at end of file