#include <DHT.h>
#include <LiquidCrystal.h>
//#include <DHT_U.h>
//LCD
int rs = 12;
int e = 11;
int d4 = 5;
int d5 = 4;
int d6 = 3;
int d7 = 2;
LiquidCrystal lcd(rs,e,d4,d5,d6,d7);
//DHT
#define Type DHT22
int dhtPin = 7;
DHT HT(dhtPin, Type);
int humidity;
float tempC;
float tempF;
int dt = 1;
//button
const byte buttonPin = 8;
const byte ledPin = 13;
boolean buttonState = LOW;
void setup(){
pinMode(buttonPin , INPUT); //Declaro como entrada pin 2
pinMode(ledPin, OUTPUT); //Declaro como salida pin 12
Serial.begin(9600);
lcd.begin(16,2);
HT.begin();
}
void loop() {
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
humidity = HT.readHumidity();
tempC = HT.readTemperature();
//lcd.clear();
//delay(dt);
lcd.setCursor(0,0);
lcd.print("Humedad: ");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp.: ");
lcd.print(tempC);
lcd.print("*C");
//lcd.clear();
//delay(dt);
}
else{
digitalWrite(ledPin, LOW);
//lcd.clear();
//digitalWrite(ledPin,LOW);
humidity = HT.readHumidity();
tempF = HT.readTemperature(true);
lcd.setCursor(0,0);
lcd.print("Humedad: ");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp.: ");
lcd.print(tempF);
lcd.print("*F");
//lcd.clear();
//delay(dt);
}
// Sistema antirebote
if (digitalRead(buttonPin ) == HIGH) {
delay(200);
buttonState = !buttonState;
}
}