Tutorial ESP32 25/55 - Medindo Temperatura com NTC e LCD | Kit de Aprendizado IoT ESP32 da SunFounder

Tutorial ESP32 25/55 - Medindo Temperatura com NTC e LCD | Kit de Aprendizado IoT ESP32 da SunFounder

Neste tutorial, aprenderemos a medir a temperatura usando um termistor de Coeficiente de Temperatura Negativo (NTC) e exibir as leituras em um display LCD usando o microcontrolador ESP32. O projeto envolverá conectar um termistor NTC ao ESP32 e usar um LCD para mostrar as leituras de temperatura em Celsius e Fahrenheit. Esta é uma excelente maneira de começar a trabalhar com técnicas de sensoriamento e exibição de temperatura usando a plataforma ESP32.

ESP32-25-NTC_termômetroLCD

Estaremos utilizando a placa de extensão ESP32 da SunFounder, que aprimora as capacidades do ESP32 com Wi-Fi e Bluetooth integrados. Esta placa pode ser facilmente integrada a vários sensores e displays, tornando-a ideal para projetos de IoT. O termistor NTC fornecerá leituras de temperatura com base em sua resistência, que varia inversamente com a temperatura. Para mais esclarecimentos sobre a configuração e o código, não deixe de conferir o vídeo (no vídeo às 00:00).

Hardware Explicado

Os principais componentes utilizados neste projeto incluem o microcontrolador ESP32, um termistor NTC, um resistor e um display LCD. O ESP32 funciona como a unidade central de processamento, lidando com os dados do termistor e controlando o display LCD. O termistor NTC altera sua resistência de acordo com a temperatura, permitindo-nos calcular a temperatura com base na configuração do divisor de tensão com um resistor fixo.

NTC_termistor

O display LCD mostrará as leituras de temperatura tanto em Celsius quanto em Fahrenheit. Usaremos o protocolo I2C para nos comunicarmos com o LCD, o que simplifica a fiação, reduzindo o número de pinos necessários. O termistor NTC possui uma característica em que sua resistência diminui com o aumento da temperatura, o que é crucial para nossos cálculos.

Detalhes da Ficha Técnica

Fabricante SunFounder
Número da peça Termistor NTC
Resistência Nominal 10 kΩ
Valor Beta 3950 K
Faixa de Temperatura -40°C a 125°C
Pacote Axial

  • Certifique-se de que o termistor é classificado para a faixa de temperatura esperada.
  • Use um resistor de 10 kΩ para o divisor de tensão; caso contrário, as leituras estarão imprecisas.
  • Verifique as conexões para evitar curtos-circuitos.
  • Mantenha o endereço I2C do LCD correto (normalmente 0x27).
  • Use níveis de alimentação adequados para o ESP32 e periféricos.
  • Verifique se a taxa de transmissão do monitor serial corresponde às configurações do código (115200).
NTC_formula

Instruções de Fiação

ESP32-11_LCD-wiring
ESP32-25-NTC_thermometer_wiring

Para conectar os componentes, comece ligando o termistor NTC ao ESP32. O termistor não tem polaridade, portanto, pode ser conectado em qualquer direção. Conecte um terminal do termistor ao pino de terra (GND) no ESP32. O outro terminal se conecta a um resistor de 10 kΩ, que se conecta ao pino de 3,3V no ESP32. A junção entre o termistor e o resistor será conectada ao pino.35no ESP32, que irá ler a tensão para cálculos de temperatura.

Para o LCD, conecte o pino de terra (normalmente o segundo pino de cima para baixo) ao GND no ESP32. Em seguida, conecte o VCC (geralmente o primeiro pino) ao pino de 5V no ESP32. O pino SDA (normalmente o terceiro pino) deve ser conectado ao pino.21no ESP32, e o pino SCL (frequentemente o quarto pino) deve conectar-se ao pino22. Certifique-se de que todas as conexões estejam seguras e verifique os números dos pinos para evitar quaisquer erros.

Exemplos de Código e Passo a Passo

O código começa definindo as constantes para o termistor, incluindo o número do pino, a tensão de referência e os valores de resistência. A função de configuração inicializa a comunicação serial e define o pino do termistor como uma entrada.

const int thermistorPin = 35; // Pin connected to the thermistor
const float referenceVoltage = 3.3;
const float referenceResistor = 10000; // the 'other' resistor

O loop principal lê o valor analógico do pino do termistor, calcula a resistência e, em seguida, computa a temperatura em graus Celsius e Fahrenheit usando a equação do parâmetro Beta. Os valores calculados são impressos no monitor serial.

int adcValue = analogRead(thermistorPin); // Read ADC value
float voltage = (adcValue * referenceVoltage) / 4095.0; // Calculate voltage
float resistance = (voltage * referenceResistor) / (referenceVoltage - voltage); // Calculate thermistor resistance

Finalmente, a temperatura é exibida no LCD. Alcd.print()A função é usada para mostrar os valores de temperatura, junto com o símbolo de grau.

lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(tempC, 1);
lcd.write(223); // Degree symbol
lcd.print("C");

Este código atualiza efetivamente o LCD a cada 300 milissegundos com as últimas medições de temperatura, permitindo monitoramento em tempo real.

Demonstração / O que Esperar

Ao executar o código e concluir a fiação, você deve ver as leituras de temperatura exibidas no LCD em Celsius e Fahrenheit. Se você segurar o termistor na sua mão, deve notar o aumento da temperatura à medida que a resistência diminui. Tenha cuidado com a polaridade invertida e garanta que as conexões estejam seguras, pois uma fiação inadequada pode levar a leituras imprecisas (no vídeo às 04:50).

Marcos de Tempo do Vídeo

  • 00:00 Início
  • 1:50 introdução ao projeto
  • 5:32 fiação explicada
  • Código Arduino NTC para ESP32 explicado às 8:20
  • 13:38 Selecionando a placa ESP32 e a porta COM no Arduino IDE
  • 15:20 Demonstração de medição de temperatura NTC
  • 17:34 Temperatura NTC no LCD1602 com ESP32
  • Código NTC Arduino com LCD explicado às 18:42
  • 21:15 Demonstração da Temperatura no LCD
  • 23:13 LCD verde ou LCD azul 1601?

Imagens

ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
NTC_thermistor
NTC_thermistor
ESP32-25-NTC_thermometer_schematic
ESP32-25-NTC_thermometer_schematic
ESP32-25-NTC_thermometer_wiring
ESP32-25-NTC_thermometer_wiring
NTC_formula
NTC_formula
ESP32-25-NTC_thermometeLCD
ESP32-25-NTC_thermometeLCD
824-ESP32 Tutorial 25/55- SunFounder doc page NTC Thermometer
Idioma: C++
825-ESP32 Tutorial 25/55- Arduino code for LCD with NTC thermistor
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.