Temperatura de medición con Esptop 10 usando Arduino IDE

Temperatura de medición con Esptop 10 usando Arduino IDE
ESP32 es un tablero de IoT basado en microcontroladores. Usando ESP32 podemos interactuar diferentes módulos y cargar esos datos sobre cualquier servidor para un mejor monitoreo de los dispositivos. Al igual que Arduino, ESP32 es capaz de interactuar con una gran variedad de hardware gracias a sus pasadores GPIO. Hoy discutiremos cómo ESP32 puede cumplir su propósito para observar los cambios de temperatura utilizando el sensor de temperatura LM35.

ESP32 con LM35

Para comenzar a medir la temperatura con ESP32, necesitamos un sensor externo. Por lo tanto, usaremos LM35, un sensor de temperatura ampliamente utilizado con tableros de microcontroladores. Se puede medir un rango de temperatura máximo de 55 ° C a 150 ° C. Uno solo necesita encenderlo y leerá instantáneamente el nivel de voltaje en el terminal de salida. Vout Pin asignará la temperatura de salida en el pin ESP32.

Las siguientes son algunas especificaciones técnicas de LM35:

  • Factor de escala lineal + 10 mv/° C
  • 0.5 ° C aseguró la precisión (a 25 ° C)
  • Rango de temperatura de -55 ° C a 150 ° C
  • Rango de voltaje de 4 V a 30 V
  • Drenaje de corriente de menos de 60 μA
  • No linealidad solo ± ¼ ° C típica

Lm35 pinout

El sensor LM35 tiene tres alfileres diferentes:

Número de PIN Nombre Descripción
1 VCC Este pin puede tomar el voltaje de entrada de 5V
2 Análoga Para un aumento de 1C se observará un aumento de voltaje de 10 mV. El rango típico es de -1v (-55 ° C) a 6V (150 ° C)
3 Suelo Conectado a GND de ESP32

Circuito

Conecte LM35 con ESP32 usando los tres terminales en el sensor. Dos de las patas laterales se conectarán al pin GND y VIN de ESP32, mientras que el vOut central se conectará al pin GPIO de ESP32. La siguiente imagen ilustra las conexiones de los tableros ESP32 con LM35:

A continuación, la tabla Explique el pin de conexión para el sensor de temperatura LM35:

Alfiler lm35 Alfiler
Pin 1 vs Empuje
Pin 2 Vout D35
Pin 3 GND Gnd

Hardware

Para realizar el circuito de ESP32 con el sensor de temperatura LM35, se requerirá la siguiente lista de componentes.

  • Sensor de temperatura LM35
  • Junta ESP32
  • Cables de jersey
  • Tablero de circuitos
  • Cable micro USB

Código

Abra el código de escritura IDE a continuación en el editor. Seleccione la placa ESP32 y haga clic en Subir.

#include "esp_adc_cal.h " /*ESP32 ADC ADC Archivo de calibración* /
#define LM35_GPIO_PIN 35 /*Pin digital 35 está configurado* /
int lm35_input = 0;
flotante tempc = 0.0; /*Variable TEMPC se inicializa*/
flotante tempf = 0.0; /*Variable TEMPF se inicializa*/
voltaje flotante = 0.0; /*El voltaje variable se inicializa*/
Configuración vacía ()

De serie.comenzar (115200); /*Comienza la comunicación en serie*/

bucle vacío ()

Lm35_input = anicoGread (lm35_gpio_pin); /*Leer LM35_GPIO_PIN ADC PIN*/
Voltaje = readAdc_cal (lm35_input); /*Calibrar ADC y obtener voltaje (en MV)*/
Tempc = voltaje / 10; /*Tempc = voltaje (mv) / 10* /
Tempf = (tempc * 1.8) + 32; /* Imprima las lecturas*/
De serie.imprimir ("temperatura en ° C =");
De serie.imprimir (tempc); /*Imprimir temperatura en C*/
De serie.imprimir (", temperatura en ° F =");
De serie.println (tempf); /*Imprimir temperatura en f*/
retraso (1000);

/*Código para la calibración digital para obtener lecturas precisas*/
uint32_t readAdc_cal (int adc_raw)

esp_adc_cal_characteristics_t adc_chars;
esp_adc_cal_characterize (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100 y ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Para comenzar a medir la temperatura con ESP32, debemos incluir un archivo de calibración ADC en el código. Usando esto podemos aumentar la sensibilidad a la temperatura de LM35.

#include "esp_adc_cal.H "

Defina el pin LM35 en el que está conectado con ESP32. Este pin GPIO se utilizará como un canal de entrada analógica ADC.

#define LM35_GPIO_PIN 35

Ahora crea cuatro variables, una de En t y 3 flotar tipos de datos que contendrán la entrada LM35 y leerán el voltaje del sensor para convertir los valores en grado y temperatura de Celsius. Las siguientes son las cuatro variables:

int lm35_input = 0;
flotante tempc = 0.0;
flotante tempf = 0.0;
voltaje flotante = 0.0;

En configuración Parte del código inicializó la comunicación en serie definiendo la tasa de baudios.

Configuración vacía ()

De serie.comenzar (115200);

En el bucle Parte del boceto leer valores analógicos y almacenarlos en variables de voltaje.

Lm35_input = anicoGread (lm35_gpio_pin);
Voltaje = readAdc_cal (lm35_input);

A continuación, imprima la temperatura en ° C y ° F.

Tempc = voltaje / 10;
Tempf = (tempc * 1.8) + 32;
De serie.imprimir ("temperatura en ° C =");
De serie.imprimir (tempc);
De serie.imprimir (", temperatura en ° F =");
De serie.println (tempf);

Agregue este código a su boceto, esto calibrará la lectura de entrada ADC y los convertirá en temperatura ° C y ° F.

uint32_t readAdc_cal (int adc_raw)

esp_adc_cal_characteristics_t adc_chars;
esp_adc_cal_characterize (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100 y ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Producción

Usando la comunicación en serie, podemos imprimir la salida en un monitor en serie. Se mostrarán dos temperaturas diferentes, una representará en C y otra en F.

Después de aplicar calor al sensor utilizando un encendedor de gas, se observará un cambio gradual de temperatura.

Conclusión

ESP32 es fácil de usar y opera una placa de microcontrolador fácil de usar que puede interactuar con una gran variedad de sensores. Aquí en este artículo destacamos todos los pasos necesarios para comenzar a medir la temperatura con la placa ESP32. Se utiliza un sensor de temperatura LM35 que imprimirá la temperatura medida en el monitor en serie. Otros sensores de temperatura también están disponibles con más precisión que LM35 para saber sobre ellos, haga clic aquí.