ESP32 - Sensor de temperatura LM35

Este tutorial te enseña cómo usar un ESP32 para leer la temperatura desde el sensor LM35 y mostrarla en el Monitor Serial.

Hardware Requerido

1×Módulo de Desarrollo ESP32 ESP-WROOM-32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×LM35 Temperature Sensor
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentación para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de temperatura LM35

Disposición de pines del sensor de temperatura LM35

El sensor de temperatura LM35 tiene tres pines:

  • Pin VCC: Conecte este pin a VCC (5V)
  • Pin GND: Conecte este pin a GND (0V)
  • Pin OUT: Este pin entrega una tensión en proporción a la temperatura.
Pinout del sensor de temperatura LM35

Cómo funciona el sensor de temperatura LM35

El sensor LM35 genera una salida de voltaje que es linealmente proporcional a la temperatura en grados Celsius. El factor de escala de salida del LM35 es de 10 mV/°C. Midiendo el voltaje en el pin OUT del LM32, podemos calcular el valor de la temperatura.

Diagrama de cableado entre el sensor de temperatura LM35 y el ESP32

El diagrama de cableado con fuente de alimentación desde un cable USB.

Diagrama de cableado del sensor de temperatura LM35 para ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

El diagrama de cableado con fuente de alimentación de un adaptador de 5 V.

Diagrama de cableado del sensor de temperatura LM35 para ESP32

This image is created using Fritzing. Click to enlarge image

Código ESP32

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-lm35-temperature-sensor */ #define ADC_VREF_mV 3300.0 // in millivolt #define ADC_RESOLUTION 4096.0 #define PIN_LM35 36 // ESP32 pin GPIO36 (ADC0) connected to LM35 void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read the ADC value from the temperature sensor int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in °C float tempC = milliVolt / 10; // convert the °C to °F float tempF = tempC * 9 / 5 + 32; // print the temperature in the Serial Monitor: Serial.print("Temperature: "); Serial.print(tempC); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(tempF); // print the temperature in °F Serial.println("°F"); delay(500); }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Copia el código anterior y pégalo en Arduino IDE.
  • Compila y sube el código a la placa ESP32 haciendo clic en el botón Upload en Arduino IDE
  • Haz que el sensor esté más frío o más caliente. Por ejemplo, colocando el sensor cerca de un vaso con hielo
  • Consulta el resultado en el Monitor Serial. Se ve como se muestra a continuación:
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Este tutorial usa la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor LM35. El ADC del ESP32 es bueno para proyectos que no necesitan alta precisión. Sin embargo, para proyectos que necesiten mediciones precisas, tenga en cuenta lo siguiente:

  • El ADC del ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede ser un poco diferente, por lo que debes calibrar el ADC para cada placa individual.
  • La calibración puede ser difícil, especialmente para principiantes, y podría no dar siempre los resultados exactos que deseas.

Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún desea calibrar el ADC del ESP32, consulte ESP32 ADC Calibration Driver

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias Lingüísticas

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!