#include "DHT.h"
#define DHTPIN A0 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // DHT 22
// #define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
int LEDTempBaja = 5; // LED alerta Temperatura Baja
int LEDTempMedia = 6; // LED aleLEDTemprta Temperatura Media
int LEDTempAlta = 7; // LED alerta Temperatura Alta
int LEDHumBaja = 8; // LED alerta humedad Baja
int LEDHumMedia = 9; // LED alerta humedad Media
int LEDHumAlta = 10; // LED alerta humedad Alta
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // velocidad del puerto serial
dht.begin();
pinMode(LEDTempBaja, OUTPUT); // azul
pinMode(LEDTempMedia, OUTPUT); // verde
pinMode(LEDTempAlta, OUTPUT); // rojo
pinMode(LEDHumBaja, OUTPUT);
pinMode(LEDHumMedia, OUTPUT);
pinMode(LEDHumAlta, OUTPUT);
Serial.println("Humedad; TempºC; Temp ºF;");
}
void loop() {
// put your main code here, to run repeatedly:
float humedad = dht.readHumidity();
float tempCelcius = dht.readTemperature(); // celsius
float tempFahrenheith = dht.readTemperature(true); // fahrenheit
Serial.print(humedad);Serial.print(";");
Serial.print(tempCelcius);Serial.print(";");
Serial.print(tempFahrenheith);Serial.print(";");
Serial.println("");
// CONDICIONALES PARA GENERAR ALERTAS DEPENDIENDO LA HUMEDAD
if (humedad < 50) // se enciende la luz de alerta de humedad
{ digitalWrite(LEDHumAlta,LOW);
digitalWrite(LEDHumMedia,LOW);
digitalWrite(LEDHumBaja,HIGH); // LED azul humedad
// activar o apagar otros actuadores?
}
if (humedad >= 50 && humedad <= 80) // se enciende la luz de alerta de humedad
{
digitalWrite(LEDHumAlta,LOW);
digitalWrite(LEDHumMedia,HIGH); // led verde
digitalWrite(LEDHumBaja,LOW);
// activar o apagar otros actuadores?
}
if (humedad > 80) // se enciende la luz de alerta de humedad
{
digitalWrite(LEDHumAlta,HIGH); // led rojo
digitalWrite(LEDHumMedia,LOW);
digitalWrite(LEDHumBaja,LOW);
// activar o apagar otros actuadores?
}
/// FIN DEL SENSOR HUMEDAD
// INICIO DE SENSOR DE TEMPERATURA
if (tempCelcius <= 15) //Si la temperatura es igual o inferior a
//15 Celsius encenderá el LED de temperatura baja y apaga los otros
{ digitalWrite(LEDTempAlta,LOW);
digitalWrite(LEDTempMedia,LOW);
digitalWrite(LEDTempBaja,HIGH); // LED azul
// activar o apagar otros actuadores?
}
if (tempCelcius > 15 && tempCelcius <=30) //Si la temperatura está estre
//16 a 30 Celsius encenderá el LED de temperatura media y apaga los otros
{ digitalWrite(LEDTempAlta,LOW);
digitalWrite(LEDTempMedia,HIGH); // LED verde
digitalWrite(LEDTempBaja,LOW);
// activar o apagar otros actuadores?
}
if (tempCelcius > 30) //Si la temperatura superior a 30 Celsius encenderá
//el LED de temperatura alta y apaga los otros
{ digitalWrite(LEDTempAlta,HIGH); // LED rojo
digitalWrite(LEDTempMedia,LOW);
digitalWrite(LEDTempBaja,LOW);
// activar o apagar otros actuadores?
}
/// FIN DEL SENSOR TEMPERATURA
delay(5000); // tiempo en milisengundos
}