Este tutorial faz parte de: Sensor digital de umidade relativa e temperatura HTU21D
Vídeos relacionados ao sensor digital de umidade relativa e temperatura HTU21D. Os links para outros vídeos estão abaixo deste artigo.
Usando mais dois sensores de umidade e temperatura HTU21DF com Arduino
Neste tutorial, aprenderemos como conectar e usar dois sensores de temperatura e umidade HTU21DF com um Arduino. O sensor HTU21DF é conhecido por sua precisão e baixo consumo de energia, tornando-o ideal para várias aplicações. Ao final deste tutorial, você será capaz de ler os valores de temperatura e umidade de ambos os sensores e exibi-los no monitor serial.

Para começar, vamos revisar brevemente os componentes de hardware envolvidos neste projeto. Os sensores HTU21DF se comunicam via I2C, o que requer apenas duas linhas de dados além das conexões de energia e terra. O Arduino lerá os dados dos sensores e imprimirá os resultados no monitor serial, permitindo que você observe as mudanças na temperatura e umidade em tempo real.
Para uma compreensão mais clara do processo de fiação e codificação, considere assistir ao vídeo associado (no vídeo aos 01:30). Vamos mergulhar nos detalhes!
Hardware Explicado
O componente principal deste projeto é o sensor HTU21DF, que mede a temperatura e a umidade relativa. Este sensor opera utilizando comunicação I2C, que simplifica a fiação precisando apenas de duas linhas de dados. Ele é capaz de medir temperaturas de -40°C a 125°C e níveis de umidade de 0% a 100% com uma resolução de 0,04%.
Quando o sensor não está medindo ativamente, consome apenas 0,04 µA, tornando-o adequado para aplicações alimentadas por bateria. Ao medir, o consumo de corrente é em torno de 400 µA, o que ainda é relativamente baixo para a maioria dos projetos.
Detalhes da Ficha Técnica
| Fabricante | TE Connectivity |
|---|---|
| Número da peça | HTU21DF |
| Tensão de lógica/IO | 1,5 - 3,6 V |
| Tensão de alimentação | 3,3 V |
| Corrente de saída (por canal) | 0,4 mA (medindo) |
| Corrente de pico (por canal) | 450 µA (máx) |
| Orientação de frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0,3 x VDDpara 0,7 x VDD |
| Queda de tensão / RDS(on)/ saturação | N/A |
| Limites térmicos | -40°C a +125°C |
| Pacote | DFN de 6 pinos |
| Notas / variantes | Disponível em diferentes tamanhos de embalagem. |
- Fonte de alimentação: 3,3 V recomendada para um desempenho ideal.
- Conecte SCL ao pino de clock I2C (A5 no Arduino UNO).
- Conecte SDA ao pino de dados I2C (A4 no Arduino UNO).
- Assegure a fiação correta para evitar entradas flutuantes.
- Monitore o consumo de corrente durante a medição para gerenciar a vida útil da bateria.
- Considere usar resistores de pull-up, se necessário, para as linhas I2C.
Instruções de Fiação

Para conectar os sensores HTU21DF, comece ligando o VCCpino de cada sensor ao pino de 3,3 V no Arduino. Em seguida, conecte o pino GND de cada sensor a um terra comum. Para comunicação I2C, conecte o pino SDA de ambos os sensores ao pino A4 no Arduino e o pino SCL ao pino A5. Certifique-se de que os sensores estejam devidamente alimentados e que as conexões de dados estejam seguras para facilitar a comunicação.
Se você estiver usando sensores ou componentes adicionais, certifique-se de que a fiação deles não interfira no barramento I2C. Os sensores HTU21DF podem ser conectados em paralelo ao mesmo barramento I2C, permitindo que o Arduino leia dados de ambos os sensores sem confusão.
Exemplos de Código e Tutorial
O código a seguir inicializa os sensores HTU21DF e lê seus valores de temperatura e umidade. Primeiro, incluímos as bibliotecas necessárias e criamos instâncias para ambos os sensores:
#include
#include "Adafruit_HTU21DF.h"
Adafruit_HTU21DF htu1 = Adafruit_HTU21DF(); // create object for first sensor
Adafruit_HTU21DF htu2 = Adafruit_HTU21DF(); // create object for second sensor
O código acima configura as bibliotecas necessárias e cria dois objetos de sensor,htu1ehtu2, que será utilizado para ler dados de cada sensor de forma independente.
Próximo, nasetup()função, inicializamos o monitor serial e verificamos se os sensores estão conectados:
void setup() {
Serial.begin(9600);
if (!htu1.begin() || !htu2.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
Esta seção do código inicializa a comunicação serial a 9600 baud e verifica se ambos os sensores estão funcionando. Se um sensor não for detectado, será exibida uma mensagem de erro e o programa será interrompido.
No loop principal, lemos os valores de temperatura e umidade de ambos os sensores e os exibimos:
void loop() {
float temp1 = htu1.readTemperature();
float rel_hum1 = htu1.readHumidity();
float temp2 = htu2.readTemperature();
float rel_hum2 = htu2.readHumidity();
Serial.print("Sensor 1 Temp: "); Serial.print(temp1); Serial.print(" C");
Serial.print("\tSensor 1 Humidity: "); Serial.print(rel_hum1); Serial.println(" %");
Serial.print("Sensor 2 Temp: "); Serial.print(temp2); Serial.print(" C");
Serial.print("\tSensor 2 Humidity: "); Serial.print(rel_hum2); Serial.println(" %");
delay(500);
}
Este loop lê e imprime continuamente a temperatura e a umidade de ambos os sensores a cada 500 milissegundos. Você pode observar como os valores mudam em resposta às condições ambientais.
Demonstração / O que Esperar
Quando você executar o código, o monitor serial exibirá os valores de temperatura e umidade de ambos os sensores. Você pode aplicar calor, como de um soprador térmico, para observar como as leituras de temperatura aumentam enquanto os níveis de umidade podem diminuir (no vídeo às 12:30). Se a temperatura exceder o limite máximo mensurável de 125°C, o sensor pode retornar zero ou um erro, indicando que não consegue ler o valor.
Esteja atento a erros de fiação, como conexões invertidas ou entradas flutuantes, que podem levar a leituras incorretas. Ao seguir os passos descritos neste tutorial, você deve ser capaz de implementar com sucesso os sensores HTU21DF e monitorar suas leituras de forma eficaz.
Marcos do Vídeo
- 00:00- Introdução
- 01:30- Explicação da Fiação
- 02:45- Explicação do Código
- 12:30- Demonstração com Pistola de Calor
- 14:00- Conclusão
Este tutorial é parte de: Sensor digital de umidade relativa e temperatura HTU21D
- Lição 35-1: Usando o Sensor de Temperatura HTU21D
- Lição 35-2: Usando o Sensor de Temperatura HTU21D - Código Personalizado
- Lição 35: Usando o sensor de temperatura HTU21D com Arduino
- Aula 36: Usando o Sensor de Temperatura HTU21D com um LCD Arduino Curso Passo a Passo
- Exibindo a temperatura de um HTU21D em um LCD
- Exibindo a Temperatura de um HTU21D como um Gráfico de Barras em um LCD
- Como Usar o Sensor de Umidade e Temperatura HTU21DF com Arduino (Código Básico)
- Como Usar o Sensor de Umidade e Temperatura HTU21DF com Arduino (Código Personalizado)
Coisas que você pode precisar
-
Amazonas
-
eBayCompre HTU21D no eBayebay.us
-
AliExpressCompre HTU21D ou SHT21 no AliExpresss.click.aliexpress.com
Recursos e referências
-
ExternoBiblioteca Adafruit HTU21D (GitHub)github.com
Arquivos📁
Folha de dados (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB