

El siguiente circuito es un ejemplo de cómo conseguir medir la temperatura con Arduino.
Para ello necesitaremos un sensor de temperatura LM35 que será el encargado de tomar las lecturas. Este sensor analógico nos devuelve 10mV por cada grado de temperatura. Por lo que la lectura debe hacerse con las entradas analógicas de Arduino.

Las patillas del sensor, mirando la imagen de izquierda a derecha son:
Patilla | Función |
---|---|
1 | Vcc |
2 | Output |
3 | GND |
La conexión seria esta:
Color del cable | Conectado A.. |
---|---|
Rojo | 5V |
Negro | GND |
Amarillo | Salida del LM35 |
Resto de Colores | Conexiones con el LCD |
Conexión con el LCD:
Lo primero es asegurarnos de que los pines de nuestro LCD son estos(debería consultarse la web del fabricante, aunque lo más común es que si lo sean.):
NºPin | Nombre | Función |
---|---|---|
1 | GND | Tierra |
2 | Vcc | 5V |
3 | Contraste | Regula el contraste de la pantalla. Esto se puede hacer con el pwn de Arduino o con este circuito |
4 | RS | Selección del registro a leer/Escribir |
5 | R/W | Selecciona si vamos a leer o escribir |
6 | E | Enable |
7 | DB0 | Datos |
8 | DB1 | Datos |
9 | DB2 | Datos |
10 | DB3 | Datos |
11 | DB4 | Datos |
12 | DB5 | Datos |
13 | DB6 | Datos |
14 | DB7 | Datos |
15 | ||
16 |
Si las patillas de nuestro LCD se corresponden con las de la tabla de arriba, esta será la forma de conectarlo al Arduino:
Arduino |
LCD |
2 | 4 |
3 | 5 |
4 | 6 |
5 | 3 (Si se quiere controlar asi el contraste) |
9 | 11 |
10 | 12 |
11 | 13 |
12 | 14 |
Código para Arduino:
#include <LiquidCrystal.h> int sensor = 5; // Pin donde tenemos conectado el LM35 int temperatura = 0; //variable para la temperatura void setup(){ pinMode(sensor, INPUT); //sintaxis de la función: LiquidCrystal lcd(rs,rw,enable,d1,d2,d3,d4) LiquidCrystal lcd(2,3,4,9,10,11,12); } void loop(){ lcd.clear(); // dejamos limpia la pantalla del LCD //Tomamos la temperatura en grados celsius. temperatura = (5.0 * analogRead(lm35)*100.0)/1023.0; lcd.print(temperatura + "C" ); // mostramos la información en pantalla. delay (3000); //esperamos antes de volver a tomar la temperatura. }