Lição 35: Usando o sensor de temperatura HTU21D com Arduino

Lição 35: Usando o sensor de temperatura HTU21D com Arduino

Este projeto orienta você no uso de um Arduino para ler dados de temperatura e umidade de um sensor HTU21D-F. Este sensor é de baixo custo e amplamente disponível, tornando-o perfeito para uma variedade de projetos. O sensor transmite os dados via I2C, um protocolo de comunicação digital comum. Aprender a usar este sensor e o I2C abrirá muitas possibilidades para seus projetos.

HTU21D module

Aplicações práticas:

  • Construindo um monitor ambiental para uma casa inteligente
  • Criando uma estação meteorológica
  • Desenvolvendo um compartimento climatizado para equipamentos eletrônicos sensíveis
  • Monitoramento da temperatura e da umidade em uma estufa ou terrário

Hardware/Componentes

Você precisará dos seguintes componentes:

  • Placa Arduino (por exemplo, Uno, Nano)
  • Sensor de temperatura e humidade HTU21D-F (no vídeo em 00:22)
  • Fios de ligação
  • Protoboard (opcional, mas recomendada)

Guia de fiação

A fiação é simples. Conecte o sensor ao Arduino da seguinte forma (no vídeo em 02:28):

  • VCC do sensor ao Arduino 3.3V
  • GND do sensor ao GND do Arduino
  • SDA do sensor para o Arduino A4
  • SCL do sensor ao Arduino A5

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

Explicação do código

O código fornecido utiliza a biblioteca Adafruit HTU21D-F (no vídeo em 03:03) para interagir com o sensor. As partes principais são:


// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change

inPin: Especifica o pino analógico conectado ao sensor de temperatura. Você pode alterá-lo para se adequar à sua fiação.

iteration: Esta variável controla o número de leituras realizadas para calcular a média da temperatura. Ao aumentá-la, melhora a precisão, mas torna as leituras mais lentas (no vídeo em 00:22).

OgetHTU()A função (no vídeo em 08:46) permite recuperar a temperatura em Celsius, Fahrenheit ou Kelvin, ou a umidade, passando um caractere ('C', 'F', 'K' ou 'H') como argumento. O código então usa essa função para exibir os dados no monitor serial.


float getTemperature(char type) {
  // ... (code to read temperature and humidity) ...
  if (type == 'F') {
    value = averageTemperature * 9 / 5 + 32; // Fahrenheit
  } else if (type == 'K') {
    value = averageTemperature + 273.15; // Kelvin
  } else {
    value = averageTemperature; // Celsius
  }
  return value;
}

Projeto ao vivo/Demonstração

O vídeo demonstra a funcionalidade do sensor (no vídeo em 07:34). O monitor serial exibe as leituras de temperatura e umidade. O apresentador também mostra como o código pode acionar ações com base em limiares de temperatura (no vídeo em 06:45).

Capítulos

  • [00:00] Introdução
  • [00:22] Visão geral do sensor
  • [01:22] Revisão da ficha técnica
  • [02:28] Fiação
  • [03:03] Instalação da Biblioteca
  • [04:05] Explicação do Código (Parte 1)
  • [08:33] Explicação do Código (Parte 2)
  • [07:34] Demonstração ao vivo

Imagens

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
503-Lesson 42: Using an LM35 Temperature Sensor with Arduino
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Outros arquivos