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.
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
| Fabricante | TE Connectivity (anteriormente MEAS) |
|---|---|
| Número da peça | HTU21DF |
| Tensão de lógica/entrada e saída | 3,3 V |
| Tensão de alimentação | 1,5 - 3,6 V |
| Consumo de corrente em espera | 0,04 µA |
| Medição do consumo de corrente | 400 µA |
| Faixa de temperatura | -40 a +125 °C |
| Faixa de umidade | 0 a 100 % |
| Resolução | 0,04 % (umidade), 0,01 °C (temperatura) |
| Pacote | 6-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
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
- Usando mais dois sensores de umidade e temperatura HTU21DF com Arduino
- 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 Personalizado)
/***************************************************
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
-
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_folha_de_dados_de_temperatura_e_umidade
HTU21D_temerature_humidity_datasheet.pdf0.96 MB