#include "DHTesp.h"
DHTesp dht;
const int numReadings = 5;
float temperatureReadings[numReadings];
int readingIndex = 0;
void setup() {
Serial.begin(115200);
dht.setup(15, DHTesp::DHT22); // Conectar el sensor DHT22 al pin 2
}
void loop() {
static unsigned long previousMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= 1000) {
previousMillis = currentMillis;
float temperature = dht.getTemperature();
if (!isnan(temperature)) {
temperatureReadings[readingIndex] = temperature;
readingIndex++;
if (readingIndex >= numReadings) {
// Se han recopilado *numReadings* lecturas de temperatura, puedes procesar los datos aquí
// Calcula el promedio
float sum = 0;
float minTemperature = temperatureReadings[0];
float maxTemperature = temperatureReadings[0];
for (int i = 0; i < numReadings; i++) {
Serial.print("Lectura ");
Serial.print(i + 1);
Serial.print(": Temperatura ");
Serial.print(temperatureReadings[i]);
Serial.println("°C");
}
for (int i = 0; i < numReadings; i++) {
sum += temperatureReadings[i];
if (temperatureReadings[i] < minTemperature) {
minTemperature = temperatureReadings[i];
}
if (temperatureReadings[i] > maxTemperature) {
maxTemperature = temperatureReadings[i];
}
}
float promedio = sum / numReadings;
Serial.println("Promedio de Temperatura: " + String(promedio, 2) + "°C");
Serial.println("Temperatura Mínima: " + String(minTemperature, 1) + "°C");
Serial.println("Temperatura Máxima: " + String(maxTemperature, 1) + "°C");
// Reiniciar el índice de lectura
readingIndex = 0;
}
}
}
}