Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Si estás buscando cómo utilizar los sensores de temperatura LM35, LM335 y LM34 con Arduino, has llegado al lugar correcto. En este artículo te proporcionaremos todas las instrucciones necesarias para sacar el máximo provecho de estos sensores y realizar mediciones precisas de temperatura. ¡Sigue leyendo para convertirte en un experto en la utilización de sensores de temperatura con Arduino!

Esta guía muestra cómo utilizar los sensores de temperatura LM35 (LM35DZ), LM335 y LM34 con la placa Arduino. Le mostraremos cómo conectar los sensores y escribir el código para obtener lecturas de temperatura. Finalmente, crearemos un ejemplo de proyecto para mostrar los valores del sensor en una pantalla OLED.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Presentamos los sensores de temperatura LM35, LM335 y LM34

LM35, LM335 y LM34 son sensores de temperatura lineales que generan un voltaje proporcional al valor de temperatura.

Sensor de temperatura Tensión de salida Linealidad
LM35 (LM35DZ) proporcional a la temperatura en Celsius (ºC) 10mV/ºC
LM335 proporcional a la temperatura en kélvin (ºK) 10 mV/ºK
LM34 proporcional a la temperatura en Fahrenheit (ºC) 10mV/ºF

Estos sensores funcionan de manera similar pero están calibrados de manera diferente para generar un voltaje proporcional a las diferentes unidades de temperatura.

El LM35 genera 10 mV por cada grado Celsius de aumento de temperatura. De manera similar, el LM335 genera 10 mV por grado Kelvin de aumento de temperatura y el LM34 genera 10 mV por grado Fahrenheit de aumento de temperatura.

Por ejemplo, si el LM35 emite un voltaje de 345 mV, eso significa que tenemos un valor de temperatura de 34,5ºC.

Puede encontrar más información sobre estos sensores en la hoja de datos:

¿Donde comprar?

Usted también puede Asesor de creadores para encontrar los mejores precios de sensores de temperatura en diferentes tiendas:

Asignación de pines LM35 (LM35DZ)

El LM35 solo tiene tres pines, VCC, votar Y Dimensiones.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Estas son las conexiones que necesitas hacer entre el LM35 y el Arduino:

LM35 / LM34 arduino
VCC 5V
votar Cualquier pin analógico
Dimensiones Dimensiones

Nota: Si está utilizando un sensor de temperatura LM34, la distribución de pines es la misma que la del LM35.

Distribución de pines LM335

La asignación de pines del sensor de temperatura LM335 es ligeramente diferente.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino
LM335 arduino
Ajustar no te conectes
votar Cada pin analógico (pull-up con resistencia de 2k ohmios)
Dimensiones Dimensiones

El adjetivo Este pin se puede utilizar para calibrar el sensor y obtener lecturas de temperatura más precisas. No usaremos este pin en este tutorial, por lo que debes dejarlo desconectado.

Representación esquemática

Independientemente de si utilizas un sensor de temperatura LM35 o LM34, debes seguir el mismo diagrama de cableado. Si está utilizando el LM335, debe seguir un diagrama ligeramente diferente.

LM35 y LM34 con Arduino

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

LM335 con Arduino

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Código – leer temperatura

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

El siguiente código lee la temperatura del sensor LM35 y muestra las lecturas en el monitor serie. Este código también es compatible con LM335 y LM34; solo necesita comentar algunas líneas en el código para usar el sensor correcto.

/*
 * Rui Santos
 * Complete Project Details https://RandomNerdTutorials.com
 */
 
const int sensorPin = A0; 
float sensorValue;
float voltageOut;

float temperatureC;
float temperatureF;

// uncomment if using LM335
//float temperatureK;

void setup() {
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  voltageOut = (sensorValue * 5000) / 1024;
  
  // calculate temperature for LM35 (LM35DZ)
  temperatureC = voltageOut / 10;
  temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM335
  //temperatureK = voltageOut / 10;
  //temperatureC = temperatureK - 273;
  //temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM34
  //temperatureF = voltageOut / 10;
  //temperatureC = (temperatureF - 32.0)*(5.0/9.0);

  Serial.print("Temperature(ºC): ");
  Serial.print(temperatureC);
  Serial.print("  Temperature(ºF): ");
  Serial.print(temperatureF);
  Serial.print("  Voltage(mV): ");
  Serial.println(voltageOut);
  delay(1000);
}

Ver código sin formato

Cómo funciona el código

Empiece por definir el pin que está conectado a la salida del sensor. Debe ser un pin analógico. Usamos Pin A0Pero también puedes usar cualquier otro pin analógico.

const int sensorPin = A0;

Defina una variable que contenga el valor analógico leído por el sensor:

float sensorValue;

El Salida de voltaje La variable almacena el valor de salida de voltaje real del sensor.

float voltageOut;

Luego cree variables que almacenen el valor de temperatura. Aquí creamos uno. TemperaturaC y un TemperaturaF Variables para almacenar la temperatura en Celsius o Fahrenheit.

float temperatureC;
float temperatureF;

Si utiliza el sensor LM335, también necesitará una variable para especificar la temperatura en Kelvin. Si utiliza este sensor, debe comentar la siguiente línea:

//float temperatureK;

En el configuración()explica eso SensorPin como entrada:

pinMode(sensorPin, INPUT);

Inicialice una comunicación serie con una velocidad de baudios de 9600. Debe inicializar la comunicación serie para poder visualizar las medidas en el monitor serie:

Serial.begin(9600);

En el Cinta()lea el valor de su sensor y guárdelo en Salida de voltaje Variable. Para leer un valor analógico con Arduino solo necesitas usar lectura analógica() Funcione y pase el pin que desea leer como argumento.

voltageOut = analogRead(sensorPin);

Como se mencionó anteriormente, estos sensores generan un valor de voltaje que es proporcional a la temperatura.

Los valores analógicos leídos por el Arduino pueden tomar valores entre 0 y 1024, donde 0 corresponde a 0V y 1024 corresponde a 5V. De esta forma podemos determinar fácilmente el voltaje de salida del sensor en mV.

voltageOut = (sensorValue * 5000) / 1024

Con el sensor LM35 vimos que 10 mV corresponden a un aumento de temperatura de un grado centígrado. Entonces la temperatura en Celsius corresponde al voltaje leído por el sensor en mV dividido por 10 mV.

temperatureC = voltageOut / 10;

Para obtener la temperatura en Fahrenheit solo necesitamos usar la conversión Celsius -> Fahrenheit:

temperatureF = (temperatureC * 1.8) + 32;

Si está utilizando un LM335 o un LM34, utilice los mismos cálculos para encontrar la temperatura. Sólo hay que recordar que el LM335 indica la temperatura en Kelvin y el LM34 en Fahrenheit. Luego podrás convertir los valores a otras unidades si es necesario.

Finalmente, imprima las lecturas del sensor tanto en Celsius como en Fahrenheit en el monitor serie.

Serial.print("Temperature(ºC): ");
Serial.print(temperatureC);
Serial.print("  Temperature(ºF): ");
Serial.print(temperatureF);

Para fines de depuración también imprimimos el voltaje.

Serial.print("  Voltage(mV): ");
Serial.println(voltageOut);

El Cinta() se repite cada segundo.

delay(1000);

demostración

Sube el código a tu IDE de Arduino. No olvide seleccionar la placa y el puerto COM correctos en el menú Herramientas.

A continuación, abra el monitor serie con una velocidad de 9600 baudios. Debería obtener nuevas lecturas de temperatura cada segundo. Puede cubrir el sensor con el dedo para ver cómo aumentan las lecturas de temperatura.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Visualización de temperatura en la pantalla OLED

En esta sección le mostraremos cómo ver los valores de su sensor en uno pantalla OLED.

Para obtener instrucciones detalladas sobre cómo usar la pantalla OLED con Arduino, consulte la siguiente guía:

  • Instrucciones para pantalla OLED I2C con Arduino

Piezas requeridas

Para este proyecto necesitarás las siguientes piezas:

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Representación esquemática

Conecte todos los componentes como se muestra en el siguiente esquema:

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Instalación de bibliotecas OLED

Para controlar la pantalla OLED necesitas adafruit_SSD1306.h y eso adafruit_GFX.h Bibliotecas. Siga las siguientes instrucciones para instalar estas bibliotecas.

1. Abra su IDE de Arduino y vaya a Bosquejo > incluir biblioteca > Administrar bibliotecas. El administrador de la biblioteca debería abrirse.

2. Ingrese «SSD1306”en el cuadro de búsqueda e instale la biblioteca SSD1306 de Adafruit.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

3. Después de instalar la biblioteca SSD1306 de Adafruit, escriba «gráfico“ en el campo de búsqueda e instale la biblioteca.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

4. Reinicie su IDE de Arduino después de instalar las bibliotecas.

Código: mostrar valores en OLED

Después de cablear el circuito e instalar las bibliotecas necesarias, cargue el siguiente código en su placa Arduino.

/*
 * Rui Santos
 * Complete Project Details https://RandomNerdTutorials.com
 */

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

const int sensorPin = A0; 
float sensorValue;
float voltageOut;

float temperatureC;
float temperatureF;

// uncomment if using LM335
//float temperatureK;

void setup() {
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  
  delay(2000);
  display.clearDisplay();
  display.setTextColor(WHITE);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  voltageOut = (sensorValue * 5000) / 1024;
  
  // calculate temperature for LM35 (LM35DZ)
  temperatureC = voltageOut / 10;
  temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM335
  //temperatureK = voltageOut / 10;
  //temperatureC = temperatureK - 273;
  //temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM34
  //temperatureF = voltageOut / 10;
  //temperatureC = (temperatureF - 32.0)*(5.0/9.0);

  Serial.print("Temperature(ºC): ");
  Serial.print(temperatureC);
  Serial.print("  Temperature(ºF): ");
  Serial.print(temperatureF);

  // clear display
  display.clearDisplay();

  // display temperature Celsius
  display.setTextSize(1);
  display.setCursor(0,0);
  display.print("Temperature: ");
  display.setTextSize(2);
  display.setCursor(0,10);
  display.print(temperatureC);
  display.print(" ");
  display.setTextSize(1);
  display.cp437(true);
  display.write(167);
  display.setTextSize(2);
  display.print("C");

  // display temperature Fahrenheit
  display.setTextSize(1);
  display.setCursor(0, 35);
  display.print("Temperature: ");
  display.setTextSize(2);
  display.setCursor(0, 45);
  display.print(temperatureF);
  display.print(" ");
  display.setTextSize(1);
  display.cp437(true);
  display.write(167);
  display.setTextSize(2);
  display.print("F");

  display.display();    
  delay(1000);
 }

Ver código sin formato

demostración

¡Felicidades! Has completado el proyecto. Ahora puedes comprobar los valores del sensor en la pantalla OLED. Cada segundo se muestran nuevos valores de temperatura.

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Envolver

LM35, LM335 y LM34 son sensores de temperatura lineales que generan un voltaje proporcional al valor de temperatura. Se pueden alimentar a través del pin Arduino de 5 V y para leer el voltaje se utiliza un pin analógico.

Leer el voltaje en el sensor es tan fácil como usar el lectura analógica() Función en el lápiz sensor. Luego sólo tendrás que hacer un sencillo cálculo para obtener la temperatura en la unidad deseada.

Esperamos que esta guía te haya resultado útil. Tenemos otras guías sobre sensores y módulos Arduino que te pueden interesar:

  • Sensor BME280 con Arduino (presión, temperatura, humedad)
  • Sensor de temperatura DS18B20 con Arduino
  • Sensor de humedad y temperatura DHT11/DHT22 con Arduino
  • Pantalla OLED I2C de 0,96 pulgadas con Arduino

Si te gusta Arduino, también te gustará nuestro curso de Arduino: Proyectos Arduino paso a paso.

Gracias por leer.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino

Este artículo te mostrará cómo utilizar los sensores de temperatura LM35, LM335 y LM34 con la placa Arduino. Te enseñaremos cómo cablear los sensores y escribir el código para obtener lecturas de temperatura. Por último, construiremos un ejemplo de proyecto para mostrar las lecturas del sensor en una pantalla OLED.

Introducción a los sensores de temperatura LM35, LM335 y LM34

Los sensores de temperatura LM35, LM335 y LM34 son sensores de temperatura lineales que emiten un voltaje proporcional al valor de la temperatura.

Estos sensores funcionan de manera similar, pero están calibrados de forma diferente para emitir un voltaje proporcional a las diferentes unidades de temperatura.

  • LM35 (LM35DZ): Proporcional a la temperatura en grados Celsius (°C) – 10mV/°C
  • LM335: Proporcional a la temperatura en grados Kelvin (°K) – 10mV/°K
  • LM34: Proporcional a la temperatura en grados Fahrenheit (°F) – 10mV/°F

Para más información sobre estos sensores, puedes consultar sus hojas de datos:

Dónde Comprar

Puedes encontrar los mejores precios de los sensores de temperatura en Maker Advisor en diferentes tiendas online.

Pinout del LM35 (LM35DZ)

El LM35 tiene solo tres pines: VCC, Vout y GND.

Aquí están las conexiones que necesitas hacer entre el LM35 y el Arduino:

  • LM35/LM34 – Arduino:
    • VCC – 5V
    • Vout – Cualquier Pin Analógico
    • GND – GND

Pinout del LM335

El pinout del sensor de temperatura LM335 es ligeramente diferente. Aquí están las conexiones:

  • LM335 – Arduino:
    • Adj – No conectar
    • Vout – Cualquier Pin Analógico (pull up con resistor de 2k Ohm)
    • GND – GND

Diagrama Esquemático

Debes seguir el mismo diagrama esquemático ya sea que estés utilizando un sensor LM35 o LM34. Debes seguir un diagrama ligeramente diferente si estás utilizando el LM335:

Código – Leer Temperatura

El siguiente código lee la temperatura del sensor LM35 y muestra las lecturas en el Monitor Serie. Este código también es compatible con LM335 y LM34, solo necesitas descomentar algunas líneas en el código para usar el sensor correcto.

Cómo Funciona el Código

Para obtener una explicación detallada de cómo funciona el código, te recomendamos visitar este enlace.

Conclusiones

Los sensores de temperatura LM35, LM335 y LM34 son excelentes opciones para medir la temperatura con tu Arduino. Con este tutorial, has aprendido cómo conectar y leer los datos de estos sensores. Esperamos que esta guía te haya sido útil.

Si te interesa Arduino, también te recomendamos estos otros tutoriales:

¡Gracias por leer!

3 comentarios en «Instrucciones para sensores de temperatura LM35, LM335 y LM34 con Arduino»

  1. ¡Qué buen tutorial! Me ha ayudado un montón a entender cómo funcionan estos sensores con Arduino. ¡Gracias por explicarlo de forma sencilla y clara! ¡Seguiré tus instrucciones al pie de la letra!

Deja un comentario