infootec.net

  • Noticias
  • electricidad
  • electronica
  • Programación

Características del sensor dht11

dht11 sensor

Contenido

  • Características principales del sensor dht11.
  • Como conectar el sensor dht11 al circuito NodeMcu
  • Como programar el sensor dht11 en Lua en NodeMCU
  • Como programar el sensor dht11 en Arduino

Características principales del sensor dht11.

Este sensor de humedad y temperatura es de D-Robotics y con el puedes obtener un muy buen resultado, en mi opinión.

Con este sensor dht11 consigues tener una medida de la temperatura y humedad muy exacta donde se encuentre, con una respuesta rápida y sin interferencias.

Es un sensor resistente, sencillo y muy practico con un precio muy económico.

El sensor dht11 dispone de 3 pins, un pin para la entrada de tensión, otro pin para la masa, y otro pin para la transferencia de datos.

DHT11-Humidity-&-Temperature-Sensor

Es capaz de transmitir la información hasta 20 metros de distancia, la tensión de alimentación es de 3 a 5.5 Voltios en continua, con una corriente de trabajo de 2.5 miliamperios.

Con este sensor podemos medir temperaturas entre 0 y 50 grados Centigrados con un error de mas menos un 2%, y en cuanto a la humedad podemos medir el porcentaje de humedad con un rango entre 20 y 90% de humedad y un margen de error de un mas menos 5%.

Como conectar el sensor dht11 al circuito NodeMcu

Para ver la lectura de temperatura y humedad del sensor dht11 vamos a utilizar el circuito impreso nodemcu.

nodemcu y dht11

Conectaremos el sensor dht11 con los pines de los extremos para dar tensión al sensor a los pines de tensión de la nodemcu, que son los cables marrones, y el pin de datos que esta en el medio de los pines del sensor irá conectado al pin "D4", entrada de señal digital del nodemcu, es el cable morado.

cables nodemcu y dht11

 

En la imagen de abajo podemos ver la composición externa al propio sensor dht11 que incluye esta versión del sensor. En la placa tenemos un condensador de filtro diseñado para rectificar las fluctuaciones de tensión en la alimentación ya sea 3.3 voltios o 5 voltios.

También tenemos una resistencia pull-up diseñada para evitar el ruido o las medidas erróneas de la señal enviadas al MCU o en nuestro caso a la NODEMCU.

En la imagen de arriba vemos destripado el sensor DHT11 donde se puede apreciar un conjunto de resistencias abajo y arriba la memoria OTP (one-time-programmable) donde quedan grabados los coeficientes de medición, calculados en el proceso de calibración del sensor.

En la imagen de arriba vemos los dos sensores de temperatura y el de humedad. El sensor de temperatura es de tipo NTC (mide la temperatura a través de una resistencia) y el sensor de humedad HR202.

En la imagen de arriba vemos el protocolo para el envío de datos del sensor DHT11.

La señal se compone de 40 bits transferidos, estos 40 bits transferidos se componen de 8 bits para indicar el valor de la humedad con formato entero, más 8 bits para transmitir la señal de la humedad con un formato decimal, luego 8 bits más para transmitir la temperatura en formato entero más 8 bits para enviar la señal de temperatura en formato decimal, y los últimos 8 bits son para enviar un check sum que verifica la información anterior por si hubiera errores.

 

Por ejemplo:

8 bits de dato integral de T = 0x01 más 8 bits de dato decimal de T = 0x32

El resultado de la temperatura medida es:

((0x01 << 8) + 0x32) / 10 = ( 256 + 50 ) / 10 = 30.6 grados centígrados.

Como programar el sensor dht11 en Lua en NodeMCU

Después deberemos de conectar la nodemcu al puerto usb del ordenador con el que vayamos a programar el circuito con el sensor. Deberemos flashear la nodemcu e instalarle el firmware con los drivers del sensor dht11. Para instalar el firmware que necesitamos podemos construirlo nosotros mismos desde la pagina "http://nodemcu-build.com/".

Para descargar el programa en la nodemcu podemos utilizar "ESPlorer", el programa tendría las siguientes lineas:

Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Programación con nodemcu
in = 4 --corresponde al D4
humi=0
temp=0
 
--Funcion leer sensor DHT11
function LeerDHT11()
status,temp,humi=dht.read11(pin)
 
if(status==dht.OK) then
print("DHT Temperatura:"..temp..";".."Humedad:"..humi)
elseif(status==dht.ERROR_CHECKSUM)then
print("DHT Checksum error.");
elseif(status==dht.ERROR_TIMEOUT)then
print("DHT Time out.");
end
end
LeerDHT11()

De esta manera y con este codigo, cada vez que hagamos un "dofile" en "init.lua" clikeando sobre el nombre del archivo que tenemos a la derecha de "ESPlorer", podemos ver el archivo despues de descargarlo, con el botón de "Reload" de la derecha.

Como programar el sensor dht11 en Arduino

Utilizando el entorno de programación de Arduino el programa quedaría de la siguiente manera:

Arduino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//Programación con arduino
#include "DHT.h"
 
#define DHTTYPE DHT11   // DHT 11
// DHT Sensor
const int DHTPin = 2; //el número 2 corresponde con el pin D4 en ESP12, para el ESP32 el D4 es el 4
//otra opción sería definir una constante para el pin D4 por ejemplo #define DHTPin D4
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
 
              Serial.begin(115200);
 
              dht.begin();
  
}
void loop() {
 
              float h = dht.readHumidity();
            
              float t = dht.readTemperature();
          
              Serial.print("DHT Temperatura: ");
              Serial.print(t);
              Serial.print(" ºC\t Humedad: ");
              Serial.print(h);
              Serial.println(" % ");
              delay(500);
            
  
}

 

Share on Facebook
Facebook
Share on Google+
Google+

Filed Under: electronica Tagged With: DHT11, Sensor

Deja un comentario Cancelar respuesta

Optionally add an image (JPEG only)

Buscar en esta web:




Artículos

  • Magnetismo
  • Potencia
  • Resistencia
  • Circuitos
  • Bobina
  • Motor
  • Condensador
  • Multímetro
  • Relé
  • Electricidad
  • Electromagnetismo
  • Histéresis
  • Inducción




Comentarios

  • (*_*) en Que es un circuito eléctrico




Cookies

En esta web se utilizan cookies propias y de terceros para el análisis de datos estadísticos y para ofrecer productos ajustados al usuario. El uso de cookies permite optimizar la navegación. Navegando el usuario acepta el uso de las mismas.

César Cinjordiz

Formación en electricidad y electrónica, aficionado a la robótica y seguidor en todos los temas relacionados con la programación y nuevas tecnologías.
CesarCinjordiz@gmail.com

Copyright © 2018 · eleven40 Pro Theme on Genesis Framework · WordPress · Log in