Descrição:
Nesse projeto vamos utilizar um sensor de Temperatura e Umidade DHT11 para medir a temperatura e a umidade do ambiente. O resultado será exibido no Monitor serial do próprio Arduino.
Os dados coletados por esses sensores poderão também ser armazenados em um cartão micro SD caso você queira analisá-los posteriormente. Isso poderá ser feito adicionando um shield
apropriado ao Arduino. Mas esse é um outro projeto.
Mas antes de começarmos, vamos conhecer o componente que fará parte desse projeto.
Sensor DHT11:
Esse tipo de sensor contêm um chip que faz a conversão de analógico para digital e retorna um sinal digital com as informações sobre a temperatura e a umidade do ambiente. Ele dispõe
de um componente medidor de umidade e um componente NTC para temperatura, ambos conectados a um controlador de 8-bits. O interessante neste componente é o protocolo usado para
transferir dados entre o MCDU e o DHT11, pois as leituras do sensor são enviadas usando apenas um único fio de barramento.
Vejamos algumas especificações técnicas desse componente de acordo com o fabricante:
• Modelo: DHT11.
• Alimentação: 3,0 a 5,0 VDC (5,5 VDC máximo).
• Corrente: 200uA a 500mA, em standby de 100uA a 150 uA.
• Faixa de medição de umidade: 20 a 90% UR.
• Faixa de medição de temperatura: 0º a 50ºC.
• Precisão de umidade de medição: ± 5,0% UR.
• Precisão de medição de temperatura: ± 2.0 ºC.
• Tempo de resposta: < 5s.
• Precisão absoluta: ± 5%.
• Repetibilidade: ± 1%.
• Estabilidade a longo prazo: ± 1% ao ano.
O sensor DHT11 que vamos utilizar em nosso projeto é o mostrado na Figura 1.1:
Figura 1.1 – Sensor DHT11 (Módulo completo) Frente e verso.
(Imagem: do Autor)
Pinagem:
Esse sensor dispõe de apenas três pinos (ou terminais). Considerando a imagem de frente do sensor, a partir da esquerda, temos:
• VCC – 5V.
• OUT – sinal.
• GND – terra.
Alguns sensores desse tipo apresentam quatro pinos. Ele também pode ser utilizado no projeto, é só não utilizar o terceiro pino a partir da esquerda, conforme
mostra a Figura 1.2:
Figura 1.2 – Sensor DHT11 de quatro pinos.
(Imagem: do Autor)
É aconselhável utilizar o módulo completo do sensor de três pinos (Figura 1), e não ele isolado, tendo em vista que o módulo já vem com o respectivo resistor, evitando dessa
forma de você utilizar um no seu projeto.
Agora que você já conhece o componente essencial para esse projeto, vejamos o material necessário para sua execução:
• 1 Arduino Uno (recomendado) ou compatível.
• 1 Protoboard.
• 1 Sensor de Temperatura e Umidade DHT11.
• Alguns jumpers.
Conectando os componentes ao Arduino:
Estando com todo o material em mãos, conecte-os de acordo com o esquema mostrado na Figura 1.3, mas antes certifique-se que o cabo USB do Arduino esteja desconectado do computador:
Figura 1.3 – Conexão esquemática do componente
com o Arduino e a protoboard.
(Imagem: do Autor)
Faça as conexões da seguinte forma:
• Arduino – conecte o pino 5V a um dos pinos da trilha vermelha da protoboard (fio vermelho), e o pino GND a um dos pinos da trilha preta da protoboard (fio preto).
• Sensor DHT11 – conecte o primeiro terminal da esquerda (VCC) a um dos pinos da trilha vermelha da protoboard (fio azul), o segundo terminal (OUT) conecte ao pino digital 2 do Arduino
(fio lilás), e o último terminal (GND), conecte à trilha preta da protoboard (fio verde).
Veja na Figura 1.4 o mesmo projeto na versão real:
Figura 1.4 – Visão real das conexões
do componente com o Arduino e a protoboard.
(Imagem: do Autor)
Criando o sketch:
Para a criação do nosso sketch, você precisa baixar a biblioteca a seguir necessária para a execução do projeto. Caso essa biblioteca já esteja instalada, execute o passo seguinte:
• Faça o download da biblioteca DHT11 no link:
Biblioteca DHT11
e salve-a em algum lugar de sua preferência.
• Descompacte o arquivo e mova ou copie a pasta DHT para o diretório libraries do Arduino (onde ele foi instalado).
• Execute o Arduino e verifique se a biblioteca instalada faz parte da lista de bibliotecas utilizando o menu: Sketch ? Incluir Biblioteca. Ela deve estar no final da lista com o
nome DHT sensor library.
OBS.: Se o Arduino já estiver sendo executado será necessário fechá-lo e executá-lo novamente para que a biblioteca seja incluída na lista.
Agora que a biblioteca está devidamente instalada, digite o código da Listagem 1.1 (desconsidere os números à esquerda, só servem como referência), ou carregue
o arquivo (sensor_dht11) utilizando o link:
sensor_dht11.ino
e abra no editor do Arduino.
Listagem 1.1
Salve esse projeto com o nome (sugestão) de: sensor_dht11.
Alguns comentários sobre o código:
1) Na linha 7 foi incluída a biblioteca DHT, necessária para a execução do projeto.
2) Na linha 20 o sensor é inicializado.
3) Na linha 27 criamos uma variável (u) do tipo float para armazenar o valor da umidade.
4) Na linha 29 criamos uma outra variável (t) do tipo float para armaze-nar a temperatura ambiente (em Celsius).
5) Na linha 31 criamos uma condição para sabermos se as leituras tiveram sucesso ou falharam. No caso de alguma falha, será impressa a mensagem da linha 34 no monitor, e você terá
que procurar saber o que houve e tentar solucionar o problema para dar prosseguimento ao projeto. Caso não haja nenhum, a umidade e a temperatura ambiente deverão ser impressas no Monitor serial.
Executando o projeto:
Inicialmente conecte o cabo USB no computador, selecione uma porta utilizando o menu Ferramentas/Porta, e em seguida faça o upload do código para o
Arduino clicando no ícone Carregar (ou utilize o menu Sketch >> Carregar). Se o seu código apresentar algum tipo de erro, ele será identificado
com uma tarja sobre a linha onde se encontra o erro e/ou no rodapé do Editor, isso vai depender do tipo de erro. Cabe a você procurar saber que tipo de erro ocorreu e consertá-lo.
Testando o projeto:
Após a execução do código, o projeto deverá mostrar no Monitor serial os valores da umidade e da temperatura (em Celsius), conforme mostra a Figura 1.5:
Figura 1.5 –Monitor mostrando a umidade e a temperatura (em Celsius),
detectadas pelo sensor DHT11.
(Imagem: do Autor)
OBS.: As leituras desse sensor podem variar de acordo com a temperatura e a umidade do ambiente onde o sensor está sendo testado. Como exercício, experimente fazer vários testes expondo
o sensor em ambientes diferentes.
Atividades:
1) Altere o código de forma que, quando a temperatura atingir um determinado valor (estabe-leça um valor qualquer), mostre uma mensagem no Monitor alertando o ocorrido.
2) Adicione um LED vermelho ao projeto, de forma que, quando a temperatura atingir um determinado valor (estabeleça um valor qualquer), o LED deverá ficar aceso,
caso contrário, deverá ficar apagado.
3) Adicione um alarme ao projeto, de forma que, quando a temperatura atingir um determinado valor (estabeleça um valor qualquer), o alarme seja disparado 5 vezes,
caso contrário, deverá ficar mudo.
Dúvidas:
E-mail: jorge.eider@gmail.com
WhatsApp: (55) 84-99988-4136
|