martes, 3 de enero de 2012

LM35 - Temperatura y LCD

Hoy la entrada va a ser un 2x1, aprenderemos a usar dos cosas en una misma entrada, veremos como funciona el sensor de temperatura LM35 y también una pantalla LCD en la que visualizaremos la temperatura.

El componente que vemos en la imagen es el sensor LM35 el cual nos mide una temperatura de -55ºC a 150ºC y una precisión de 0.5ºC a 25ºC, que es muy buena y suficiente para pequeños inventos que podamos hacer en casa.

Si miráis la imagen veréis que tiene tres patillas. La primera empezando por la izquierda es la de entrada de tensión, la segunda es por donde nos dara la señal y la tercera el negativo.

Pantallas LCD hay de muchos tipos yo usare esta de dos líneas porque para esto es suficiente y además es la que me venia en el kit arduino que compre. Para usar esta pantalla bastara con hacer  unas pocas conexiones, un par de líneas de código y ya tendremos funcionando nuestra pantalla.




Como veis el tercer pin tiene la salida de un potenciómetro. Con el potenciómetro lo que haremos será regular el contraste.

El pin de retroiluminación no lleva resistencia porque cogemos directamente del pin 13 de arduino que ya la lleva incorporada.







 //www.playingwitharduino.blogspot.com

#include <LiquidCrystal.h>          //Incluir esta libreria para poder usar el lcd

int Ana1 = A0;                      //Entrada analogica de LM35
LiquidCrystal lcd(12,11,5,4,3,2);   //Definimos la pantalla LCD
int Temp = 0;
char Grados = 'º';

void setup(){
  Serial.begin(9600);      
  lcd.begin(16,2);  
  pinMode(13,OUTPUT);
  digitalWrite(13, HIGH);          //Activamos la retroiluminacion
}

void loop(){
  Temp = analogRead(Ana1);          //Leemos el valor de la entrada analogica
  Temp = map(Temp,0,1024,-55,150);  //Escalamos la señal a grados centigrados
 
  //Mostramos los grados en el serial
  Serial.print("Grados: ");
  Serial.print(Temp);
  Serial.print(Grados);
  Serial.println("C");
 
 
  //Mostramos los grados en la pantalla LCD
  lcd.setCursor(0,0);            //Con este comando decimos en que linea queremos escribir
  lcd.print("Temperatura: ");
  lcd.setCursor(0,1);            
  lcd.print(Temp);
 
 
  delay(10000);                  //Al ser temperatura no hace falta leerlo tan seguido
}

Este es el resultado final:

2 comentarios:

Unknown dijo...

y con un sensor de alcohol?

EPO 11 LECTORES dijo...

:v

Publicar un comentario