// Este simulador es un proyecto liderado por el profesor Ramiro Lopera
// de la Institución Universitaria Pascual Bravo.
// Cualquier inquietud puede contactarlo a [email protected]
//Compatible with the Arduino IDE 1.0
#include "DHT.h"
#define DHTPIN A0 //Conectamos el Sensor DHT11 al pin A0
#define DHTTYPE DHT22
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()
{
// SE INICIA PUERTO SERIAL DE COMUNICACION 9600 bits por segundo :
Serial.begin(9600);
dht.begin(); // Inicia el sensor
pinMode(LEDTempBaja, OUTPUT);
pinMode(LEDTempMedia, OUTPUT);
pinMode(LEDTempAlta, OUTPUT);
pinMode(LEDHumBaja, OUTPUT);
pinMode(LEDHumMedia, OUTPUT);
pinMode(LEDHumAlta, OUTPUT);
Serial.println("Humedad;Temperatura;");
}
///////////////////////////////////////////////////
// RUTINAS CÍCLICAS DEL ARDUINO
void loop()
{
// LEE LOS DATOS GENERADOS POR LOS SENSORES
float h = dht.readHumidity(); // Lee la humedad h y temperatura t
float t = dht.readTemperature(); int f = dht.readTemperature(true);
//////////////////ENVÍA DATOS A PUERTO SERIAL /////////////////////////////////
Serial.print(h); Serial.print(";"); Serial.print(t); Serial.print(";");
// CONDICIONALES PARA GENERAR ALERTAS DEPENDIENDO LA HUMEDAD
if (h > 80) // se enciende la luz de alerta de humedad
{
digitalWrite(LEDHumAlta,HIGH);
digitalWrite(LEDHumMedia,LOW);
digitalWrite(LEDHumBaja,LOW);
// activar o apagar otros actuadores?
}
if (h >= 50 && h <= 80) // se enciende la luz de alerta de humedad
{
digitalWrite(LEDHumAlta,LOW);
digitalWrite(LEDHumMedia,HIGH);
digitalWrite(LEDHumBaja,LOW);
// activar o apagar otros actuadores?
}
if (h < 50) // se enciende la luz de alerta de humedad
{ digitalWrite(LEDHumAlta,LOW);
digitalWrite(LEDHumMedia,LOW);
digitalWrite(LEDHumBaja,HIGH);
// activar o apagar otros actuadores?
}
/// FIN DEL SENSOR HUMEDAD
// INICIO DE SENSOR DE TEMPERATURA
if (t <= 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);
// activar o apagar otros actuadores?
}
if (t > 15 && t <=30) //Si la temperatura está estre
//19 a 29 Celsius encenderá el LED de temperatura media y apaga los otros
{ digitalWrite(LEDTempAlta,LOW);
digitalWrite(LEDTempMedia,HIGH);
digitalWrite(LEDTempBaja,LOW);
// activar o apagar otros actuadores?
}
if (t > 30) //Si la temperatura superior a 30 Celsius encenderá
//el LED de temperatura alta y apaga los otros
{ digitalWrite(LEDTempAlta,HIGH);
digitalWrite(LEDTempMedia,LOW);
digitalWrite(LEDTempBaja,LOW);
// activar o apagar otros actuadores?
}
/// FIN DEL SENSOR TEMPERATURA
Serial.println("");
delay (5000);
}