//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Test DHT11 Sensor and LEDs
//======================================== Including the libraries.
#include "DHT.h"
//========================================
//======================================== DHT sensor settings (DHT11).
#define DHTPIN 15 //--> Defines the Digital Pin connected to the DHT11 sensor.
#define DHTTYPE DHT11 //--> Defines the type of DHT sensor used. Here used is the DHT11 sensor.
DHT dht11_sensor(DHTPIN, DHTTYPE); //--> Initialize DHT sensor.
//========================================
// Defines the Digital Pin of the "On Board LED".
#define ON_Board_LED 2
// Defines GPIO 13 as LED_1.
#define LED_01 13
// Defines GPIO 12 as LED_2.
#define LED_02 12
//======================================== Variables for DHT11 sensor data.
float send_Temp;
int send_Humd;
String send_Status_Read_DHT11 = "";
//========================================
// ________________________________________________________________________________ Subroutine to read and get data from the DHT11 sensor.
void get_DHT11_sensor_data() {
Serial.println();
Serial.println("-------------get_DHT11_sensor_data()");
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
// Read temperature as Celsius (the default)
send_Temp = dht11_sensor.readTemperature();
// Read Humidity
send_Humd = dht11_sensor.readHumidity();
// Read temperature as Fahrenheit (isFahrenheit = true)
// float ft = dht11_sensor.readTemperature(true);
// Check if any reads failed.
if (isnan(send_Temp) || isnan(send_Humd)) {
Serial.println("Failed to read from DHT sensor!");
send_Temp = 0.00;
send_Humd = 0;
send_Status_Read_DHT11 = "FAILED";
} else {
send_Status_Read_DHT11 = "SUCCEED";
}
Serial.printf("Temperature : %.2f °C\n", send_Temp);
Serial.printf("Humidity : %d %%\n", send_Humd);
Serial.printf("Status Read DHT11 Sensor : %s\n", send_Status_Read_DHT11);
Serial.println("-------------");
}
// ________________________________________________________________________________
//________________________________________________________________________________ VOID SETUP()
void setup() {
// put your setup code here, to run once:
Serial.begin(115200); //--> Initialize serial communications with the PC.
pinMode(ON_Board_LED,OUTPUT); //--> On Board LED port Direction output.
pinMode(LED_01,OUTPUT); //--> LED_01 port Direction output.
pinMode(LED_02,OUTPUT); //--> LED_02 port Direction output.
digitalWrite(ON_Board_LED, HIGH); //--> Turn on Led On Board.
digitalWrite(LED_01, HIGH); //--> Turn on LED_01.
digitalWrite(LED_02, HIGH); //--> Turn on LED_02.
delay(2000);
digitalWrite(ON_Board_LED, LOW); //--> Turn off Led On Board.
digitalWrite(LED_01, LOW); //--> Turn off Led LED_01.
digitalWrite(LED_02, LOW); //--> Turn off Led LED_02.
// Setting up the DHT sensor (DHT11).
dht11_sensor.begin();
delay(2000);
}
//________________________________________________________________________________
//________________________________________________________________________________ VOID LOOP()
void loop() {
// put your main code here, to run repeatedly
get_DHT11_sensor_data();
digitalWrite(LED_01, !digitalRead(LED_01));
digitalWrite(LED_02, !digitalRead(LED_02));
delay(2000);
}
//________________________________________________________________________________
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<