Sensor de Humedad
Sensor de Humedad
Sensor de Humedad
PARA ARDUINO
SENSOR DE HUMEDAD/TEMPERATURA
PARA ARDUINO
Ventajas Y Desventajas
Entre sus ventajas podemos mencionar el bajo coste
CODIFICACION
#include "DHT.h" //cargamos la librera DHT
codigo
#define DHTPIN 2 //Seleccionamos el pin en el que se //conectar el sensor
#define DHTTYPE DHT11 //Se selecciona el DHT11 (hay //otros DHT)
DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que ser usada por Arduino para
comunicarse con el sensor
void setup() {
Serial.begin(9600); //Se inicia la comunicacin serial
dht.begin(); //Se inicia el sensor
}
void loop() {
float h = dht.readHumidity(); //Se lee la humedad
float t = dht.readTemperature(); //Se lee la temperatura
//Se imprimen las variables
Serial.println("Humedad: ");
Serial.println(h);
Serial.println("Temperatura: ");
Serial.println(t);
delay(2000); //Se espera 2 segundos para seguir leyendo //datos
comunicacin
Los datos binarios se codifican segn la longitud del pulso alto. Todos los bits
comienzan con un pulso bajo de 50 uS. En nuestra librera aprovechamos el pulso
bajo en cada bit para sincronizar con la seal del DHT11. Luego viene un pulso
alto que vara segn el estado lgico o el valor del bit que el DHT11 desea
transmitir. Se utilizan pulsos de 26-28 microsegundos para un 0 y pulsos de 70
microsegundos para un 1. Los pulsos se repiten hasta un total de 40 bits.
Programa
long distancia;
long tiempo;
void setup(){
Serial.begin(9600);
pinMode(9, OUTPUT); /*activacin del pin 9 como salida: para el pulso ultrasnico*/
pinMode(8, INPUT); /*activacin del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}
void loop(){
digitalWrite(9,LOW); /* Por cuestin de estabilizacin del sensor*/
delayMicroseconds(5);
digitalWrite(9, HIGH); /* envo del pulso ultrasnico*/
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH); /* Funcin para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envo
del pulso ultrasnico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia= int(0.017*tiempo); /*frmula para calcular la distancia obteniendo un valor entero*/
/*Monitorizacin en centmetros por el monitor serial*/
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
}