Componentes
Sensor Temperatura y Humedad
Sensor IR
Mando IR
Pantalla LCD
Conectores
Arduino UNO 3R
Esquema eléctrico
Al pulsar el botón Power del mando, se activa el sensor de Temperatura, apareciendo por pantalla los datos de Temperatura y Humedad del ambiente.
Cuando pulsamos cualquier otro botón se desactiva el sensor de Temperatura y Humedad apareciendo en pantalla "Apagado".
https://youtu.be/itu1dZ45MGc
#include <DHT.h>
#include <LiquidCrystal.h>
#include <IRremote.h>
int dhtPin=4;
int receiver = 5;
LiquidCrystal lcd (7,8,9,10,11,12);
DHT dht (dhtPin, DHT11);
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;
void setup() {
lcd.begin(16,2);
Serial.begin(9600);
dht.begin ();
delay(500);
Serial.begin(9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)){
Serial.println(results.value, HEX);
if (results.value==0xFFA25D){
float humidity= dht.readHumidity();
float temperature= dht.readTemperature();
float temperatureF=dht.readTemperature (true);
if (isnan (humidity) || isnan (temperature)|| isnan (temperatureF)){
Serial.println ("Error en la lectura del sensor");
lcd.setCursor (0,0);
lcd.print ("Error en sensor");
return;
}
float hic =dht.computeHeatIndex (temperature, humidity, false);
float hif= dht.computeHeatIndex (temperatureF, humidity);
lcd.setCursor (0,0);
lcd.print ("humedad ");
lcd.setCursor (8,0);
lcd.print (humidity);
lcd.setCursor (14,0);
lcd.print ("%");
lcd.setCursor (0,1);
lcd.print("temperat");
lcd.setCursor (9,1);
lcd.print (temperature);
lcd.setCursor (15,1);
lcd.print ("C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%Temperature: ");
Serial.print(temperature);
Serial.print("C");
Serial.print (temperatureF);
Serial.print("F Heat Index: ");
Serial.print (hic);
Serial.print ("C");
Serial.print (hif);
Serial.println ("F");
irrecv.resume();
}
else {
lcd.setCursor (0,0);
lcd.print("Apagado");
lcd.setCursor (8,0);
lcd.print (" ");
lcd.setCursor (0,1);
lcd.print (" ");
irrecv.resume();
}
}
delay (100);
}
No hay comentarios:
Publicar un comentario