#include <DHT.h>
#include <DHT_U.h>
const int Trigger = 6; //Pin digital 2 para el Trigger del sensor
const int Echo = 7; //Pin digital 3 para el Echo del sensor
const int mov = 12;
const int led = 8;
int state = LOW;
int vlr = 0;
const int gas = A1;
const int led2 = 13;
int valor_limite = 200;
int SENSOR = 2;
int T;
int H;
DHT dht(SENSOR, DHT22);
void setup(){
Serial.begin(9600);
dht.begin();
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
pinMode(mov, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(gas, INPUT);
}
void loop(){
T = dht.readTemperature();
H = dht.readHumidity();
Serial.print("\nTemperatura: ");
Serial.print(T);
Serial.print("\nHumedad: ");
Serial.print(H);
delay(500);
long t; //timepo que demora en llegar el eco
long d; //distancia en centimetros
digitalWrite(Trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
d = t/59; //escalamos el tiempo a una distancia en cm
Serial.print("\nDistancia: ");
Serial.print(d); //Enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(100); //Hacemos una pausa de 100ms
//sensor de movimiento
vlr = digitalRead(mov);
if (vlr == HIGH) {
digitalWrite(led, HIGH);
if (state == LOW) {
Serial.println("Movimiento detectado");
state = HIGH;
}
} else {
digitalWrite(led, LOW);
if (state == HIGH) {
Serial.println("\nMovimiento no detectado");
state = LOW;
}
}
Serial.println(analogRead(gas));
if(analogRead(gas) > valor_limite) {
digitalWrite(led2, HIGH);
}
else {
digitalWrite(led2, LOW);
}
delay(300);
}