Sensor de Temperatura y Humedad DHT11 con Rasperry Pi en IOTeca

Sensor de Temperatura y Humedad DHT11 con Rasperry Pi

Los DHT11 y DHT22 se componen de un sensor capacitivo para medir la húmedad y de un termistor para medir temperatura.

La principal diferencia entre ambos es que el ciclo de operación es menor en el DHT11 que en el DHT22, sin embargo, el DHT22 tiene rangos de medida más amplios y mayor resolución, a cambio de resultar algo más costoso.

DHT11DHT22
Rango de medición de Humedad20 - 90% HR0 -100% HR
Precisión de Humedad±5%HR ±2% HR
Rango de medición de Temperatura0 - 50°C-40 - 80°C
Precisión de Temperatura±2°C±5°C

Encapsulados

Existen distintos encapsulados para este sensor, que difieren en la cantdad de pines.


Conexión

Para el encalsulado de 4 pines, colocar una resistencia entre 4,7 – 10 K para pull-up, conectada entre los pines 1 y 2 del sensor.

Pines del Sensor

  1. 3.3 V
  2. Dato (Pin GPIO)
  3. no se conecta
  4. GND

Instalación

Para poder copiar paquetes desde GitHub primero debemos instala la librería git.

Siempre es recomendable hacer un apt-get update antes de comenzar cualquier instalación de software.

sudo apt-get update

Luego instalar git.

sudo apt-get install git-core

Creamos carpeta para almacenar las librerías que instalaremos para este u otros proyectos.

mkdir bibliotecas
cd bibliotecas

Luego clonamos el repositorio git de la biblioteca de Adafruit que nos permitirá obtener las lecturas del sensor DHT11.

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

Para instalar esta librería en nuestro sistema debemos realizar los siguientes pasos.

Instalar software que nos permite adicionar librerías Python a nuestra Raspberry Pi ingresando en consola

sudo apt-get install build-essential python-dev

Entrar a la carpeta que se creo al clonar con git el repositorio

cd Adafruit_Python_DHT

Instalar la biclioteca DHT de Adafruit

sudo python setup.py install

Si está instalado el interprete 2.7.X, para instalarlo en python 3.5.X+

sudo python3 setup.py install 

A continuación veamos un ejemplo de código


# Importación las módulos necesarios
import Adafruit_DHT
import time

# Configuración del tipo de sensor DHT
sensor = Adafruit_DHT.DHT11 #(o DHT22)

# Configuración del puerto GPIO al cual esta conectado
pin = 23

# Intenta ejecutar la lectura del sensor, si falla ejecuta la instruccion except
try:	
	# Ciclo infinito de lectura
	while True:
		# Obtiene la humedad y la temperatura desde el sensor 
		humedad, temperatura = Adafruit_DHT.read_retry(sensor, pin)
      
		# Imprime en la consola las variables temperatura y humedad con un decimal
		print('Temperatura={0:3.0f}°C  Humedad={1:0.1f}%'.format(temperatura, humedad))
		print('================================')
		
		#Intervalo de lectura cada 10 segundos
		time.sleep(10)

# Se ejecuta en caso de que falle alguna instruccion dentro del try
except Exception as e:
	# Muestra en pantalla el error
	print(str(e))


Este y otros contenidos los podés aprender en el Curso de Raspberry Pi

Creado: 30/07/2020  

Publicidad

| Volver a Raspberry Pi |

Comentarios

Para poder comentar debés registrarte e ingresar al sitio.