Usando o Heltec WiFi LoRa 32 V3 para transmitir temperatura usando DHT22 a 1,4 km.

Esta lição faz parte de: Introdução ao WiFi LoRa

Usando o Heltec WiFi LoRa 32 V3 para transmitir temperatura usando DHT22 a 1,4 km.

Neste tutorial, exploraremos como utilizar o módulo Heltec WiFi LoRa 32 V3 para transmitir dados de temperatura de um sensor DHT22 a longas distâncias, alcançando distâncias de até 1,4 quilômetros. Essa capacidade é possível graças ao uso da tecnologia LoRa, que permite comunicação de longo alcance com baixo consumo de energia. Ao final deste guia, você terá um sistema funcional que pode enviar leituras de temperatura sem fio.

Wifi LoRa 32 V3 dentro do Meshnology N30 RX e TX

Começaremos com uma visão geral dos componentes de hardware envolvidos neste projeto, incluindo o módulo Heltec WiFi LoRa 32 V3 e o sensor DHT22. Em seguida, passaremos às instruções de fiação, onde você aprenderá como conectar esses componentes. Por fim, percorreremos o código necessário para tornar este sistema operacional. Para orientação visual, consulte o vídeo em vários horários (no vídeo em 00:00).

Hardware Explicado

Os principais componentes deste projeto são o módulo Heltec WiFi LoRa 32 V3 e o sensor de temperatura e umidade DHT22. O módulo Heltec possui um microcontrolador ESP32, que oferece capacidades de Wi-Fi e Bluetooth, além da comunicação LoRa. Isso permite opções flexíveis de transmissão de dados.

Wifi LoRa 32 V3 dentro do Meshnology N30 como transmissor de Temperatura

O sensor DHT22 é um sensor digital que fornece leituras precisas de temperatura e umidade. Ele se comunica com o ESP32 por meio de um único pino de saída digital, facilitando a conexão e o uso em seus projetos. Juntos, esses componentes formam um sistema robusto para monitoramento de temperatura sem fio.

Detalhes da Ficha Técnica

Fabricante Heltec Automation
Número da peça WiFi LoRa 32 V3
Tensão lógica/IO 3,3 V
Tensão de alimentação 3,7-4,2 V
Corrente de saída (por canal) ~1 A
Corrente de pico (por canal) ~2 A
Orientação da frequência de PWM 1 kHz (típ.)
Limiares de lógica de entrada 0,7 V (alto), 0,3 V (baixo)
Queda de tensão / RDS(on)/ saturação 0,3 V (máx)
Limites térmicos 85 °C (máx)
Pacote Módulo de PCB
Notas / variantes Várias opções de frequência disponíveis (por exemplo, 433 MHz, 868 MHz, 915 MHz)

  • Certifique-se de alimentar o DHT22 com 3,3V, não com 5V.
  • Use níveis lógicos apropriados para comunicação entre o ESP32 e o DHT22.
  • Considere o dissipador de calor se operar com altas correntes por períodos prolongados.
  • Verifique a conexão da antena para LoRa para maximizar o alcance.
  • Esteja atento às regulamentações de frequência LoRa na sua região.

Instruções de Fiação

Heltec_WiFi_loRa_32V3_DHT22_wiring

Para conectar o Heltec WiFi LoRa 32 V3 com o sensor DHT22, comece ligando o pino VCC do sensor ao pino de 3,3V no módulo Heltec. Em seguida, conecte o pino GND do DHT22 a um dos pinos GND do Heltec. O pino de dados do DHT22 deve ser conectado ao pino GPIO 3 no Heltec.

Certifique-se de usar um resistor pull-up (cerca de 10kΩ) entre o pino de dados e o VCC para leituras estáveis. Além disso, verifique se a antena LoRa está conectada de forma segura para aumentar o alcance de transmissão. Se você estiver usando energia externa, garanta que o módulo Heltec esteja alimentado corretamente para evitar quaisquer problemas operacionais.

Instalando placas Heltec ESP32

Adicione este caminho nas preferências do seu Arduino IDE, conforme mostrado no vídeo:https://resource.heltec.cn/download/package_heltec_esp32_index.json

Exemplos de Código e Tutorial

Os seguintes trechos de código ilustram como configurar o módulo Heltec para ler dados de temperatura do sensor DHT22 e transmiti-los via LoRa. O código inicializa o display e configura o sensor DHT.

#include 
#define DHTPIN 3         // GPIO pin for DHT22
#define DHTTYPE DHT22    // Define DHT type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(115200);
  dht.begin(); // Initialize DHT sensor
}

Neste trecho, definimos o pino ao qual o sensor DHT22 está conectado e o inicializamos nosetup()função. OSerial.begin(115200)a linha é para saída de depuração.

void loop() {
  float tempC = dht.readTemperature(); // Read temperature in Celsius
  float tempF = dht.convertCtoF(tempC); // Convert to Fahrenheit
  sendData(tempC, tempF); // Function to send temperature data
}

Este excerto mostra como ler dados de temperatura naloop()função. OsendData()a função é chamada para transmitir as leituras de temperatura via LoRa.

void sendData(float tempC, float tempF) {
  String data = "Temperature: " + String(tempC) + "°C"; // Create data string
  Radio.Send(data.c_str(), data.length()); // Send data
}

Aqui, criamos a string de dados contendo a temperatura e a enviamos usando aRadio.Send()método. Isso transmitirá os dados sem fio para o módulo receptor.

Por favor, consulte o código completo carregado abaixo do artigo para uma implementação detalhada.

Demonstração / O Que Esperar

Uma vez que tudo esteja configurado e o código esteja carregado no módulo Heltec, você deve ver as leituras de temperatura exibidas na tela OLED. O sistema transmitirá os dados de temperatura, que podem ser recebidos por outro módulo Heltec configurado para ler os dados. Você pode testar o alcance movendo o receptor para longe do transmissor, confirmando a distância máxima alcançada (no vídeo em 1:30).

Tenha cuidado com armadilhas comuns, como fiação incorreta, fornecimento de energia insuficiente ou uso da frequência LoRa errada. Certifique-se de que o DHT22 esteja funcionando corretamente e que a antena esteja conectada para maximizar o alcance.

Marcação de Tempo do Vídeo

  • 00:00 Início
  • 3:51 Especificações
  • 8:32 Página de documentação
  • 9:52 Pacote e bateria
  • 12:58 Ligando-o pela primeira vez
  • 16:37 Instalando a Biblioteca
  • 18:19 Código básico do transmissor
  • 19:43 Código Básico do Receptor
  • 20:39 Demonstração de envio e recebimento de texto
  • 23:02 código de demonstração OLED
  • 24:06 Texto Básico sobre código para display OLED
  • 26:26 Texto básico sobre a demonstração de OLED
  • 26:58 Lendo temperatura com DHT22
  • 28:49 Temperatura e Exibição do Transmissor LoRa
  • 30:07 Temperatura do Receptor LoRa e Exibição
  • 32:13 Acionando LED quando a temperatura aumenta
  • 22:26 Teste de Alcance de Transmissão LoRa
  • 35:01 dBm e Milli Watt

Imagens

Heltec_WiFi_loRa_32V3_DHT22_wiring
Heltec_WiFi_loRa_32V3_DHT22_wiring
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
meshnology-N30-LoRa-v3-red-black
meshnology-N30-LoRa-v3-red-black
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
563-Printing Simple Text on the screen of WiFi LoRa 32 V3
Idioma: C++
773-Transmitter Code for Heltec WiFi LoRa 32 V3 to send temperature using DHT11, DHT22
Idioma: C++
867-Receiver Code for Heltec WiFi LoRa 32 to receive and display Temperature
Idioma: C++
Copiado!

Common Course Files

Arquivos📁

Outros arquivos