No último artigo eu falei sobre o sensor de temperatura DHT22 e mostrei como ligar esse sensor ao Arduino. No artigo de hoje, vou mostrar como utilizar o DHT22 com o Raspberry Pi B+, e você pode usar o mesmo procedimento para outros modelos da placa Raspberry, como a Pi 2 Pi 3, Pi Zero W, etc.

ligar sensor temperatura DHT22 raspberry

Se você ainda não instalou o Raspbian ou não está familiarizado com o Raspberry Pi B+, recomendo a leitura do artigo Raspberry Pi : Instale o Raspbian e crie seu primeiro programa em Python, onde eu mostro como instalar o Raspbian, informações sobre a GPIO e como criar um programa básico utilizando Python.

Circuito DHT22 com Raspberry Pi

No nosso circuito vamos utilizar um botão (push-button) para enviar as informações de temperatura e umidade para a tela do Raspbian. Utilizaremos alimentação de 3.3V tanto para o DHT22 como para o botão. 

Isso é importante pois poderíamos, por exemplo, alimentar o DHT22 com os 5V da GPIO, mas as portas do Raspberry trabalham com nível de sinal de 3.3V, e com isso corremos o risco de danificar as portas da placa. Assim, as portas de ENTRADA, que são os pinos 16 (sensor) e 40 (botão), utilizarão 3.3V.

Circuito Raspberry Pi B+ e DHT22

O resistor no pino de dados do DHT22 é de 10K, e no push-button utilizamos um de 330 ohms.

Instalação da biblioteca do DHT22

Para o programa em Python vamos utilizar a biblioteca da Adafruit, baixando e instalando a biblioteca diretamente no Raspbian.

Certifique-se de que o Raspberry está conectado à internet, abra o LX Terminal e digite o seguinte comando:

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

Em seguida, entre na pasta Adafruit_Python_DHT :

cd Adafruit_Python_DHT

Antes de instalar a biblioteca, utilize os comandos abaixo para atualizar o Raspbian e baixar o python-dev para o correto funcionamento da biblioteca:

sudo apt-get update
sudo apt-get install build-essential python-dev

Instale a biblioteca utilizando o seguinte comando :

sudo python setup.py install

O processo de download e instalação da biblioteca pode demorar alguns minutos, dependendo da velocidade da conexão à internet. Após esse procedimento, a biblioteca estará instalada e pronta para uso.

Enviando informações do DHT22 para o Raspbian

Clique no ícone IDLE na tela principal do Raspbian. Na interface de programação do Python, selecione FILE, depois NEW WINDOW. Na nova tela, digite o programa abaixo :

# Programa : Raspberry B+ e sensor DHT22
# Autor : Arduino e Cia

# Carrega as bibliotecas
import Adafruit_DHT
import RPi.GPIO as GPIO

# Define o tipo de sensor
# sensor = Adafruit_DHT.DHT11
sensor = Adafruit_DHT.DHT22

GPIO.setmode(GPIO.BOARD)

# Define a GPIO conectada ao pino de dados do sensor
pino_sensor = 23

# Define o pino conectado ao push-button
GPIO.setup(40, GPIO.IN)

# Informacoes iniciais
print ("Pressione o botao para obter a temperatura...");

while(1):
# Verifica se o botao foi pressionado
 if GPIO.input(40) == True:
   # Efetua a leitura do sensor
   umid, temp = Adafruit_DHT.read_retry(sensor, pino_sensor);
   # Caso leitura esteja ok, mostra os valores na tela
   if umid is not None and temp is not None:
     print ("Temp = {0:0.1f}  Umidade = {1:0.1f}n").format(temp, umid);
     print ("Aguarde 2 segundos para efetuar a leitura novamenten");
   else:
     # Mensagem de erro de comunicacao com o sensor
     print("Falha ao ler dados do sensor !!!")

No início do programa são carregadas as bibliotecas Adafruit_DHT, para uso do sensor de temperatura, e também a biblioteca.GPIO. Definimos que o sensor será ligado à GPIO 23 (pino 16), e o push-button ao pino 40 (GPIO 21), sendo que este último será uma porta de ENTRADA.

O programa verifica se o botão foi pressionado (TRUE), e em caso positivo efetua uma leitura do sensor e mostra os dados em uma nova janela :

Python Shell - Temperatura DHT22

Você pode melhorar esse projeto implementando a leitura dos dados em determinados intervalos, e enviando essess dados para um display LCD. Utilize as informações do post Como ligar um display LCD 16×2 ao Raspbeery Pi .

Clique aqui para ver outros artigos sobre Raspberry Pi aqui no Arduino e Cia !

Avalie este post!