#include <LiquidCrystal.h>
#include "DHT.h"
int led1 = 12;
int led2 = 14;
int led3 = 27;
int led4 = 26;
//Variables
LiquidCrystal lcd(23,22,21,19,18,5);
float tp, hm;
//Constantes
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
String readTemperatura(){
float t = dht.readTemperature();
if(isnan(t)){
Serial.println("Falla sensor DHTxx");
return String(tp);
}
else {
tp = t;
Serial.println("Temperatura: " + String(tp));
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(tp);
lcd.print(" C");
return String(tp);
}
}
String readDHTHumedad(){
float h = dht.readHumidity();
if(isnan(h)){
Serial.println("Falla sensor DHTxx");
return String(hm);
}
else {
hm = h;
Serial.println("Humedad: " +String(hm));
lcd.setCursor(0,1);
lcd.print("Hum:");
lcd.print(hm);
lcd.print(" %");
return String(hm);
}
}
void setup() {
lcd.begin(16,2);
Serial.begin(115200);
dht.begin();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void prenderLeds() {
// De derecha a izquierda
digitalWrite(led1, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(500);
digitalWrite(led4, LOW);
// De izquierda a derecha
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led3, LOW);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led2, LOW);
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led1, LOW);
}
void loop() {
readTemperatura();
readDHTHumedad();
prenderLeds();
}