19. Sensor de Temperatura LM35
Uso del Sensor de Temperatura LM35 con Arduino
Introducción a los Sensores
En electrónica, los sensores son dispositivos que convierten una magnitud física (como temperatura, luz, sonido, etc.) en una señal eléctrica medible. Una clasificación común es:
Sensores analógicos: Proporcionan una señal continua de voltaje.
Sensores digitales: Proporcionan datos en formato digital (0s y 1s).
En este tutorial, trabajaremos con el sensor analógico de temperatura LM35.
El Sensor LM35
El LM35 es un sensor de temperatura que convierte la temperatura en grados Celsius a un valor de voltaje analógico.
Características:
Preciso: ±0.5°C a 25°C.
Rango: -55°C a 150°C.
Alimentación: 4V a 30V.
Salida: 10mV por grado Celsius (fácil de convertir).
Esquema de Conexiones:
El LM35 tiene 3 pines:
VCC (5V): Conectar a 5V de Arduino.
GND: Conectar a GND de Arduino.
OUT (Señal): Conectar a una entrada analógica (ej. A1).
¡Precaución! Conectar incorrectamente los pines (VCC y GND invertidos) puede dañar el sensor y causar quemaduras leves al tocarlo.
Fórmula de Conversión
El fabricante proporciona la siguiente fórmula para convertir el voltaje a temperatura:
Temperatura (°C) = Valor de voltaje × 100Ejemplo: Si el sensor entrega 0.25V, la temperatura es 25°C.
Programa 1: Lectura Básica de Temperatura
Materiales:
Arduino (Uno, Nano, etc.)
Sensor LM35
Protoboard y cables
Código:
void setup() {
Serial.begin(9600); // Inicializar comunicación serial
}
void loop() {
int lectura = analogRead(A1); // Leer valor analógico del pin A1
float voltaje = lectura * (5.0 / 1023.0); // Convertir a voltaje (0-5V)
float temperatura = voltaje * 100; // Convertir voltaje a temperatura
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
delay(200); // Esperar 200 ms para no saturar el monitor
}Explicación:
analogRead(A1): Lee el valor del sensor (0-1023).
Convertir a voltaje: Multiplicar por (5.0 / 1023.0) para obtener voltaje (usar
5.0para mantener precisión de float).Convertir a temperatura: Aplicar la fórmula del LM35.
Prueba:
Sube el código y abre el Monitor Serial (Herramientas > Monitor Serial).
Deberías ver valores alrededor de 25°C (temperatura ambiente).
Frota el sensor con los dedos para aumentar la temperatura y observa cómo sube.
Programa 2: Control de LED con Temperatura
Ahora agregaremos un LED que se enciende cuando la temperatura supera un límite (ej. 27°C).
Materiales Adicionales:
LED
Resistencia de 220Ω
Esquema:
Conectar el ánodo del LED (patilla larga) al pin 8 de Arduino.
Conectar el cátodo del LED (patilla corta) a GND through una resistencia de 220Ω.
Código:
#define LED 8 // Pin del LED
#define UMBRAL 27 // Umbral de temperatura en °C
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT); // Configurar pin 8 como salida
}
void loop() {
int lectura = analogRead(A1);
float voltaje = lectura * (5.0 / 1023.0);
float temperatura = voltaje * 100;
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
if (temperatura > UMBRAL) {
digitalWrite(LED, HIGH); // Encender LED si temperatura > umbral
} else {
digitalWrite(LED, LOW); // Apagar LED en caso contrario
}
delay(200);
}Explicación:
pinMode(LED, OUTPUT): Configura el pin 8 como salida para el LED.
Condicional if: Compara la temperatura con el umbral (27°C). Si es mayor, enciende el LED; si no, lo apaga.
Prueba:
Sube el código y observa el LED.
Frota el sensor para aumentar la temperatura. Cuando supere 27°C, el LED se encenderá.
Al dejar de frotar, la temperatura bajará y el LED se apagará.
Conclusión
Has aprendido:
La diferencia entre sensores analógicos y digitales.
Cómo conectar y usar el sensor LM35.
Convertir valores analógicos a temperatura.
Controlar un LED basado en lecturas de temperatura.
¡Practica con diferentes umbrales y experimenta! En el próximo capítulo exploraremos más sensores.
Comentarios
Publicar un comentario