#include "DHTesp.h"
#define ONBOARD_LED 2
#define LED_PIN 4
const int DHT_PIN = 15;
DHTesp dhtSensor;
float temperatureCounter = 0.0;
float humidityCounter = 0.0;
int operationsCounter = 0;
float temperatureMean = 0.0;
float humidityMean = 0.0;
int initData;
float get_random_number()
{
return rand()%30+50;
}
void get_arithmetic_mean_data()
{
operationsCounter++;
initData = get_random_number();
temperatureCounter += initData;
temperatureMean = temperatureCounter/operationsCounter;
initData = get_random_number();
humidityCounter += initData;
humidityMean = humidityCounter/operationsCounter;
ChangeBlink(initData);
}
void ChangeBlink(int initData)
{
if(initData >= 60 && initData <= 70)
{
Serial.println("LEDs are turned ON: " + String(initData) + "%");
digitalWrite(ONBOARD_LED,HIGH);
digitalWrite(LED_PIN,LOW);
}
else
{
digitalWrite(ONBOARD_LED,LOW);
digitalWrite(LED_PIN,HIGH);
}
}
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(ONBOARD_LED,OUTPUT);
pinMode(LED_PIN,OUTPUT);
//srand(time(0));
}
void loop() {
get_arithmetic_mean_data();
Serial.println("Temp: " + String(temperatureMean) + "°C");
Serial.println("Humidity: " + String(humidityMean) + "%");
Serial.println("---");
// Get Data from Sensor.
// TempAndHumidity data = dhtSensor.getTempAndHumidity();
// Serial.println("Temp: " + String(data.temperature, 2) + "°C");
// Serial.println("Humidity: " + String(data.humidity, 1) + "%");
// Serial.println("---");
delay(2000);
}