Introduction: Temperatura Con Arduino UNO Y LCD
En este pequeño instructivo la idea es mostrar en español como hacer para registrar la temperatura ambiente usando un sensor LM35 y mostrarla en un display LCD de 16x2.
Step 1: Partes Del Proyecto
Las partes usadas para el proyecto son:
- Arduino Uno
- Display LCD de 16x2 (con pines soldados)
- Protoboard
- Potenciómetro de 10K Ohm
- Sensor de temperatura LM35
- Cables de protoboard macho macho
Step 2: Hacer Las Conexiones
Utilizando el breadboard y los cables, conectar el Arduino Uno al LCD y el sensor de acuerdo al siguiente esquema:
Sensor LM35
VCC a 5v de Arduino Uno
GND a GND de Arduino Uno
Salida Analógica a pin A5 del Arduino Uno
LCD
VSS -> GND de Arduino Uno
VDD -> 5v de Arduino Uno
A -> 5v de Arduino Uno
K -> GND de Arduino Uno
* Una vez conectados estos cuatro pines del LCD, encendiendo el Arduino deberia encenderse la pantalla.
VO -> Pin central del potenciometro
* Conectando el potenciómetro y encendiendo el Arduino, girando el potenciometro deberian verse unos cuadrados que contrastan con el fondo del display (en mi caso display azul, los cuadrados son blancos)
RS -> pin 7 del Arduino Uno
RW -> GND de Arduino Uno
E-> pin 8 del Arduino Uno
D4-> pin 9 del Arduino Uno
D5-> pin 10 del Arduino Uno
D6-> pin 11 del Arduino Uno
D7-> pin 12 del Arduino Uno
A -> 5v de Arduino Uno
K -> GND de Arduino Uno
Potenciómetro
Primer Pin -> GND de Arduino Uno
Pin Central -> VO del display LCD
Tercer Pin -> 5v Arduino Uno
Step 3: Cargar Programa En El Arduino
A continuación el código a cargar en el Arduino para registrar la temperatura, y mostrarla al mismo tiempo en el monitor serial y en el display LCD. Para utilizar el LCD incluimos la librería LiquidCrystal que contiene las funciones necesarias para utilizar el display.
// Medir temperatura con LM35 y mostrar en el display LCD
#include LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
const int sensorPin= A5;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("TEMPERATURA");
}
void loop() {
int value = analogRead(sensorPin);
float millivolts = (value / 1023.0) * 5000;
float celsius = millivolts / 10;
lcd.setCursor(0,1);
Serial.print(celsius);
Serial.println(" C");
lcd.print(celsius);
lcd.print(" C");
delay(5000);
}
Una vez cargado el sketck el display debería empezar a mostrar la temperatura, actualizada a intervalos de 5 segundos. Adicionalmente las lecturas pueden visualizarse en el Monitor Serial.
Si no se visualiza nada en el display, mover el potenciometro hasta que se vean los caracteres. En caso de seguir sin ver nada, verificar todas las conexiones.