Código de Pesquisa

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 Básico)

Neste tutorial, aprenderemos como usar o sensor de temperatura e umidade relativa HTU21DF com um Arduino. Este sensor é 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 e exibi-los no Monitor Serial do Arduino. Para mais esclarecimentos, confira o vídeo em (no vídeo em 00:00).

Hardware Explicado

O sensor HTU21DF é um sensor digital de umidade e temperatura que se comunica usando o protocolo I2C. Ele pode medir temperaturas variando de -40°C a +125°C e umidade relativa de 0% a 100%. O sensor opera com uma tensão de alimentação de 3,3V, tornando-o adequado para aplicações alimentadas por bateria.

Dois pinos são essenciais para a comunicação: SDA (linha de dados) e SCL (linha de clock). O sensor também possui um modo de baixo consumo de energia, consumindo apenas 0,04 µA quando inativo e aproximadamente 400 µA durante as medições. Esse recurso o torna particularmente útil em projetos sensíveis à energia.

Detalhes da Ficha Técnica

FabricanteTE Connectivity (anteriormente MEAS)
Número da peçaHTU21DF
Tensão de lógica/entrada e saída3,3 V
Tensão de alimentação1,5 - 3,6 V
Consumo de corrente em espera0,04 µA
Medição do consumo de corrente400 µA
Faixa de temperatura-40 a +125 °C
Faixa de umidade0 a 100 %
Resolução0,04 % (umidade), 0,01 °C (temperatura)
Pacote6-pinos LGA

  • Garanta conexões adequadas para evitar danos.
  • Mantenha a fonte de alimentação dentro dos limites de tensão especificados (1,5 a 3,6 V).
  • Utilize resistores de pull-up nas linhas SDA e SCL, se necessário.
  • Tenha cuidado com a polaridade invertida ao conectar a energia.
  • Permita que o sensor tenha algum tempo para estabilizar após ser ligado.

Instruções de fiação

Para conectar o sensor HTU21DF ao Arduino, siga estes passos:

Primeiro, conecte o pino esquerdo do sensor ao fornecimento de 3,3V do Arduino. O segundo pino, que geralmente é marcado em vermelho, deve ser conectado ao terra (GND). Em seguida, conecte o pino SDA do sensor ao pinoA4na Arduino e conecte o pino SCL ao pinoA5Essa configuração permitirá que o Arduino se comunique com o sensor usando o protocolo I2C.

Garanta que todas as conexões estejam seguras para evitar problemas de comunicação. Se você estiver usando uma placa de ensaio, verifique novamente a fiação para manter as conexões corretas. No vídeo, métodos alternativos de fiação são discutidos (no vídeo às 01:30).

Exemplos de Código e Passo a Passo

Abaixo está uma breve visão geral do código utilizado para interagir com o sensor HTU21DF. Primeiro, as bibliotecas necessárias são incluídas:

#include 
#include "Adafruit_HTU21DF.h"

Este código inicializa a comunicação I2C e cria uma instância do sensor HTU21DF comohtu.

Em seguida, configuramos a comunicação serial nosetup()função:

void setup() {
  Serial.begin(9600);
  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

Aqui, o sensor é inicializado e, se não conseguir se conectar, uma mensagem é impressa e o programa é interrompido.

No text provided.loop()função, lemos os valores de temperatura e umidade:

void loop() {
    float temp = htu.readTemperature();
    float rel_hum = htu.readHumidity();
    Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
    Serial.print("\t\t");
    Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
    delay(500);
}

A temperatura é armazenada na variáveltemp, e a umidade relativa é armazenada emrel_humEsses valores são impressos no Monitor Serial a cada 500 milissegundos, permitindo que você observe as mudanças em tempo real.

Para o código completo, consulte o programa completo carregado abaixo do artigo.

Demonstração / O que Esperar

Uma vez que tudo está conectado e o código está carregado, abra o Monitor Serial para ver as leituras de temperatura e umidade. Você deve ver os valores atualizarem a cada meio segundo. Se você aplicar calor ao sensor usando um soprador, notará que as leituras de temperatura aumentam enquanto as leituras de umidade diminuem (no vídeo em 05:00).

Esteja ciente de que, se a temperatura exceder o limite máximo de 125°C, as medições podem se tornar imprecisas ou redefinidas. É essencial manter o sensor dentro da sua faixa de operação especificada para garantir medições precisas.

Marcas de Tempo do Vídeo

  • 00:00- Introdução
  • 01:30- Instruções de Fiação
  • 05:00- Demonstração

Imagens

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
210-Arduino code using HTU21D-F Humidity & Temperature Sensor (basic-2)
Idioma: C++
/***************************************************
  This is an example for the HTU21D-F Humidity & Temperature Sensor

  Designed specifically to work with the HTU21D-F sensor from Adafruit
  ----> https://www.adafruit.com/products/1899

  This module uses I2C to communicate; 2 pins are required to
  interface
 ****************************************************/

#include <Wire.h>
#include "Adafruit_HTU21DF.h"

// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

void setup() {
  Serial.begin(9600);
  Serial.println("HTU21D-F test");

  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

void loop() {
    float temp = htu.readTemperature();
    float rel_hum = htu.readHumidity();
    Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
    Serial.print("\t\t");
    Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
    delay(500);
}

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Folha de dados (pdf)