Medição da temperatura com o ESPPOP 10 usando o Arduino IDE

Medição da temperatura com o ESPPOP 10 usando o Arduino IDE
Esp32 é uma placa de IoT baseada em microcontrolador. Usando o ESP32, podemos interagir com diferentes módulos e fazer upload desses dados em qualquer servidor para melhor monitoramento de dispositivos. Assim como o Arduino, o ESP32 é capaz de interface com uma grande variedade de hardware graças aos seus pinos GPIO. Hoje discutiremos como o ESP32 pode servir ao seu objetivo de observar as mudanças de temperatura usando o sensor de temperatura LM35.

Esp32 com LM35

Para começar a medir a temperatura com o ESP32, precisamos de um sensor externo. Então, usaremos o LM35, um sensor de temperatura amplamente usado com placas de microcontrolador. Uma faixa de temperatura máxima de 55 ° C a 150 ° C pode ser medida por ele. Só é preciso ligá -lo e ele lê instantaneamente o nível de tensão no terminal de saída. Pino VOUT mapeará a temperatura de saída no pino ESP32.

A seguir, estão algumas especificações técnicas do LM35:

  • Fator de escala linear + 10 mV/° C
  • 0.5 ° C garantiu a precisão (a 25 ° C)
  • Faixa de temperatura de -55 ° C a 150 ° C
  • Faixa de tensão de 4 V a 30 V
  • Menos de 60 μA de dreno de corrente
  • Não linearidade apenas ± ± ° C típico

LM35 PILOUT

O sensor LM35 tem três pinos diferentes:

Número do PIN Nome do pino Descrição
1 VCC Este pino pode levar a tensão de entrada de 5V
2 Analógico out Para um aumento de 1C, um aumento de tensão de 10mV será observado. A faixa típica é de -1V (-55 ° C) a 6V (150 ° C)
3 Chão Conectado ao GND do ESP32

O circuito

Conecte o LM35 ao ESP32 usando os três terminais no sensor. Duas das pernas laterais serão conectadas ao pino GND e VIN do ESP32, enquanto o pino central VOUT será conectado ao pino GPIO do ESP32. A imagem a seguir ilustra as conexões das placas ESP32 com LM35:

Abaixo da tabela Explique o pino de conexão para o sensor de temperatura LM35:

Pino LM35 PIN ESP32
Pino 1 vs Vin
PIN 2 VOUT D35
PIN 3 GND Gnd

Hardware

Para fazer o circuito do ESP32 com o sensor de temperatura LM35 a seguir a lista de componentes.

  • Sensor de temperatura LM35
  • Placa ESP32
  • Fios de jumper
  • Pão de pão
  • Cabo micro USB

Código

Abra o código de gravação do IDE abaixo no editor. Selecione a placa ESP32 e clique em Carregar.

#include "ESP_ADC_CAL.H " /*Esp32 Arquivo de calibração ADC* /
#define lm35_gpio_pin 35 /*pino digital 35 está definido* /
int lm35_input = 0;
tempc flutuante = 0.0; /*TEMPC variável é inicializado*/
float tempf = 0.0; /*TEMPF variável é inicializado*/
tensão de flutuação = 0.0; /*A tensão variável é inicializada*/
configuração void ()

Serial.começar (115200); /*A comunicação serial começa*/

Void Loop ()

Lm35_input = analogread (lm35_gpio_pin); /*Leia LM35_GPIO_PIN ADC PIN*/
Tensão = readadc_cal (lm35_input); /*Calibre o ADC e obtenha tensão (em MV)*/
Tempc = tensão / 10; /*Tempc = tensão (mv) / 10* /
Tempf = (tempc * 1.8) + 32; /* Imprima as leituras*/
Serial.impressão ("Temperatura em ° C =");
Serial.impressão (tempc); /*Imprima temperatura em c*/
Serial.print (", temperatura em ° f =");
Serial.println (tempf); /*Imprima temperatura em f*/
atraso (1000);

/*Código de calibração digital para obter leituras precisas*/
uint32_t readadc_cal (int adc_raw)

ESP_ADC_CAL_CHARACTERISTISTS_T ADC_CHARS;
ESP_ADC_CAL_CHARACTERIZE (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, & ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Para começar a medir a temperatura usando o ESP32, precisamos incluir um arquivo de calibração ADC no código. Usando isso, podemos aumentar a sensibilidade à temperatura LM35.

#include "ESP_ADC_CAL.h "

Defina o pino LM35 no qual está conectado ao ESP32. Este pino GPIO será usado como um canal de entrada analógico ADC.

#Define LM35_GPIO_PIN 35

Agora crie quatro variáveis, uma de int e 3 flutuador Tipos de dados que contêm a entrada LM35 e lerão a tensão do sensor para converter valores em grau e temperatura de Celsius. A seguir estão as quatro variáveis:

int lm35_input = 0;
tempc flutuante = 0.0;
float tempf = 0.0;
tensão de flutuação = 0.0;

Em configurar Parte do código Inicializado Comunicação serial, definindo a taxa de transmissão.

configuração void ()

Serial.começar (115200);

No laço Parte do esboço Leia os valores analógicos e armazenam -os em variáveis ​​de tensão.

Lm35_input = analogread (lm35_gpio_pin);
Tensão = readadc_cal (lm35_input);

Em seguida, imprima a temperatura em ° C e ° F.

Tempc = tensão / 10;
Tempf = (tempc * 1.8) + 32;
Serial.impressão ("Temperatura em ° C =");
Serial.impressão (tempc);
Serial.print (", temperatura em ° f =");
Serial.println (tempf);

Adicione este código ao seu esboço, isso calibrará a leitura do ADC de entrada e a converterá em temperatura ° C e ° F.

uint32_t readadc_cal (int adc_raw)

ESP_ADC_CAL_CHARACTERISTISTS_T ADC_CHARS;
ESP_ADC_CAL_CHARACTERIZE (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, & ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Saída

Usando comunicação serial, podemos imprimir a saída em um monitor serial. Duas temperaturas diferentes serão mostradas, uma representará em C e outro em F.

Depois de aplicar calor ao sensor usando um isqueiro a gás, uma mudança gradual de temperatura será observada.

Conclusão

O ESP32 é fácil de usar e opera uma placa de microcontrolador amigável que pode interagir com uma grande variedade de sensores. Aqui nesta redação, destacamos todas as etapas necessárias para começar a medir a temperatura usando a placa ESP32. É usado um sensor de temperatura LM35 que imprimirá a temperatura medida no monitor serial. Vários outros sensores de temperatura também estão disponíveis com mais precisão do que o LM35 para saber sobre eles, clique aqui.