Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
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).
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.
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