Lição 35-2: Usando o Sensor de Temperatura HTU21D - Código Personalizado

Lição 35-2: Usando o Sensor de Temperatura HTU21D - Código Personalizado

Neste tutorial, exploraremos como usar o sensor de temperatura HTU21D com Arduino para medir temperatura e umidade. O HTU21D é um sensor confiável e de baixo consumo de energia que se comunica via I2C, facilitando sua integração em seus projetos. Ao final desta aula, você terá um código funcional que lê temperatura em Celsius, Fahrenheit e Kelvin, além da umidade relativa.

HTU21D module

Antes de mergulharmos nas conexões e no código, é essencial compreender os componentes envolvidos. O sensor HTU21D requer conexões mínimas: energia, terra e dois fios I2C para transferência de dados. Essa simplicidade o torna uma excelente escolha para várias aplicações, desde estações meteorológicas até dispositivos de casas inteligentes. Para um guia visual, consulte o vídeo no timestamp 03:45.

Hardware Explicado

O componente principal deste projeto é o sensor HTU21D, que mede temperatura e umidade. Este sensor pode operar com tensões de 1,5V a 3,6V, tornando-o versátil para diferentes aplicações. Ele fornece leituras de alta resolução, com medições de temperatura variando de -40°C a +125°C e leituras de umidade com uma resolução de 0,04%.

Além disso, o sensor utiliza comunicação I2C, que requer dois pinos: SDA (linha de dados) e SCL (linha de clock). Isso permite uma fácil integração com Arduino e outros microcontroladores sem a necessidade de fiações complexas. A biblioteca Adafruit simplifica a interação com o sensor, lidando com a recuperação de dados e protocolos de comunicação de forma integrada.

Detalhes da Ficha Técnica

FabricanteTE Connectivity
Número da peçaHTU21D-F
Tensão de lógica/IO1,5 - 3,6 V
Tensão de alimentação3,3 V
Consumo atual (em espera)0,02 µA (típ.)
Consumo atual (ativo)450 µA (típ.)
Faixa de temperatura-40 a +125 °C
Faixa de umidade0 a 100 %UR
Resolução0,04 %UR; 0,01 °C
PacoteDFN de 6 pinos

  • Garanta o fornecimento de energia correto para evitar danos ao sensor.
  • Use resistores de pull-up nas linhas SDA e SCL se não estiverem integrados.
  • Mantenha as conexões do sensor curtas para minimizar o ruído.
  • Monitore a voltagem durante a operação para manter a estabilidade.
  • Considere usar um capacitor para desacoplamento próximo aos pinos de alimentação.

Instruções de Fiação

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

Para conectar o sensor de temperatura HTU21D, comece ligando a energia e o aterramento. Conecte o pino esquerdo do sensor a uma fonte de 3,3V, garantindo que ela possa suportar a tensão exigida. O segundo pino, normalmente marcado em vermelho, deve ir para o aterro.

Em seguida, conecte o pino SDA do sensor ao pinoA4no Arduino, que serve como a linha de dados para comunicação I2C. Em seguida, conecte o pino SCL ao pinoA5, que atua como a linha de relógio. Certifique-se de que essas conexões estão seguras, pois fios soltos podem levar a leituras intermitentes ou falha na comunicação com o sensor.

Exemplos de Código e Passo a Passo

No texto, começamos incluindo as bibliotecas necessárias e inicializando o sensor. A linhaAdafruit_HTU21DF htu = Adafruit_HTU21DF();cria uma instância da classe sensor. Nasetup()função, iniciamos a comunicação serial e verificamos se o sensor está conectado corretamente.

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

Este trecho verifica se o sensor está funcionando corretamente. Se não estiver, ele imprime uma mensagem de erro e interrompe o programa. No aloop()função, lemos os valores de temperatura e umidade continuamente.

void loop() {
    Serial.print(getHTU('C'));
    Serial.print("C");
    Serial.print(getHTU('H'));
    Serial.println("%");
    delay(1000);
}

Aqui, a funçãogetHTU()é chamado com diferentes parâmetros para recuperar a temperatura em Celsius e a umidade. O atraso garante que as medições sejam feitas a cada segundo, proporcionando uma saída suave no monitor serial. O código completo está disponível para referência abaixo do artigo.

Demonstração / O que Esperar

Uma vez que tudo esteja ligado corretamente e o código esteja carregado, você deverá ver as leituras de temperatura e umidade impressas no monitor serial. A temperatura será exibida em Celsius, seguida pela porcentagem de umidade correspondente. Se você aplicar calor ao sensor, deverá observar a temperatura subir de acordo (no vídeo às 10:15).

Tenha cuidado com os limites do sensor; se a temperatura ultrapassar 125°C, pode retornar uma leitura incorreta ou exibir zero. Sempre garanta que suas conexões estejam seguras e que o sensor esteja alimentado corretamente para evitar problemas durante a operação.

Marcas de Tempo do Vídeo

  • 00:00Introdução
  • 03:45Fiação do Sensor
  • 05:30Revisão do Código
  • 10:15Demonstração
  • 12:00Conclusão

Imagens

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
513-Lesson 35: Using HTU21D Temperature Sensor | Arduino Step-by-Step Course
Idioma: C++
Copiado!

Coisas que você pode precisar

Arquivos📁

Folha de dados (pdf)