#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 8
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 13, 5, 4, 3, 2);
int contrastPin = 6;
int contrastValue= 1;
void setup() {
Serial.begin(115200);
Serial.println(F("Ejemplo DHT22!"));
pinMode(contrastPin,OUTPUT);
lcd.begin(16, 2);
dht.begin();
lcd.setCursor(0, 0);
lcd.print("C:");
lcd.setCursor(8, 0);
lcd.print("F:");
lcd.setCursor(0, 1);
lcd.print("H:");
lcd.setCursor(8, 1);
lcd.print("Q:");
}
void loop() {
float temperatureC = dht.readTemperature();
float temperatureF = dht.readTemperature(true);
float humidity = dht.readHumidity();
float qc = dht.computeHeatIndex(temperatureC, humidity, false);
float qf = dht.computeHeatIndex(temperatureF, humidity);
// Compruebe si alguna lectura falló y salga antes (para volver a intentarlo).
if (isnan(temperatureC) || isnan(temperatureF) || isnan(humidity)) {
Serial.println(F("Error al leer el sensor!"));
return;
}
Serial.print(F("| Humedad: "));
Serial.print(humidity);
Serial.print(F("% | Temperatura: "));
Serial.print(temperatureC);
Serial.print(F("°C - "));
Serial.print(temperatureF);
Serial.print(F("°F "));
Serial.print(F("| Indice de Calor: "));
Serial.print(qc);
Serial.print(F("°C - "));
Serial.print(qf);
Serial.println(F("°F |"));
lcd.setCursor(2, 0);
lcd.print(temperatureC);
lcd.setCursor(10, 0);
lcd.print(temperatureF);
lcd.setCursor(2, 1);
lcd.print(humidity);
lcd.setCursor(10, 1);
lcd.print(qc);
// Espere unos segundos entre mediciones.
delay(2000);
}