Leer temperatura con Arduino usando un LM35
Escrito por Nico | 12 de Julio de 2009   

Buenos días! Bienvenidos a esta nueva sección que hace rato queriamos implementar dentro del sitio

Aqui iremos llevando una bitácora de nuestros proyectos (y los que nos envien uds claro) y con el tiempo comenzaremos a escribir articulos y tutoriales para toda la comunidad. La idea es centrarnos en 4 categorias importantes que son: DIY (Do it Yourself), Robótica, Tutoriales y, la quizás mas completa: Arduino.

Que es Arduino? Pues es una plataforma open source bastante económica que nos permite de manera sencilla interactuar con sensores y toda clase de componentes (desde leds, y potenciometros, hasta tarjetas SD/MMC y Wiimotes) mediante 13 entradas/salidas digitales (algunas con PWM) y 6 entradas analógicas.

Cual es la ventaja? La esquematica para diseñar la placa se bajan de internet sin ningún costo y uno puede hacer la placa en su propia casa sin muchos problemas porque no tienen componentes SMD (superficiales) y la mayoria de las cosas se consiguen fácilmente.

De la página oficial de Arduino, http://www.arduino.cc/ podremos descargar el software con el que escribiremos el código para comunicarnos con los demás periféricos. El mismo se encuentra basado en Processing (proyecto del MIT) y se programa en C sin mas problemas.

Y porque no seguir usando un PIC? El Arduino no es un reemplazo, mas bien un complemento. Se utiliza para realizar prototipos rápidos y poder plasmar ideas en un instante. Como en el ejemplo que veremos a continuación, leer la temperatura de un sensor requieren de unas pocas lineas de código solamente.

Aunque también tendremos otras opciones que juntan lo mejor de ambos mundos, como lo es el Pinguino, http://www.hackinglab.org/pinguino/index_pinguino.html donde aunque aun se encuentra bajo testeo, podremos tener un 18F4550 y aprovechar de las 30 entradas/salidas, y las 13 que pueden usarse como entradas analógicas.

Pero mejor que decir, es mostrar, por lo que sigue leyendo para ver como poder medir temperatura con el Arduino a través de un sensor LM35.

Arduino

 

Antes que nada, desde aqui pueden bajarse la datasheet, http://www.national.com/ds/LM/LM35.pdf

El LM35 es un sensor que nos medirá la temperatura de la siguiente manera: 0 + 10mV/ºC, con una precisión de 0.5ºC a temperatura ambiente. Además trabajará (dependiendo del modelo) entre -55 y 150ºC.

En Argentina podemos encontrar el LM35 (supongo el modelo LM35D que toma temperaturas de 0 a 100, no pude verificarlo) a unos 2,7 U$D.

LM35 y Arduino

Y se conecta de la siguiente manera

LM35 y Arduino

LM35 y ArduinoLM35 y Arduino

LM35 y Arduino

R1 será una resistencia de 100K

  * LEE UN SENSOR DE TEMPERATURA
 * ---------------
 *
 * Lee un sensor LM35 y nos bota la lectura 
 * en el puerto serial
 *
 * PublicDomain 2007 by Gabriel Zea
 * <http://randomlab.net>
 * <mailto:zeaATrandomlabDOTnet>
 *
 */
 
int lm35 = 0; //pin de conexion del sensor
int temperatura = 0; //variable para la temperatura

void setup(){
 pinMode(lm35, INPUT); //declara pin del LM de entrada
 Serial.begin (9600); //inicia comunicacion serial
}

void loop(){
  //Calcula la temperatura usando como referencia 5v
temperatura = (5.0 * analogRead(lm35)*100.0)/1023.0;
Serial.println (temperatura); //escribe la temperatura en el serial
delay (3000); //espera 3 segundos para la siguiente medicion
}


Links de referencia:
http://www.ucontrol.com.ar/wiki/index.php/Acondicionador_de_se%C3%B1al_para_LM35x
http://lab.randomlab.net/lab/Arduino/Ejemplos/Temperatura
http://www.uchobby.com/index.php/2007/09/23/arduino-temperature-controlled-pc-fan/
http://blogdoje.com.br/2007/07/08/leitura-de-temperatura-com-arduino/
http://www.sherkhan.net/blogs/frikadas/?p=306
Comentarios
¡Sólo los usuarios registrados pueden escribir comentarios!
Nacho |2009-08-19 13:28:48
Hola! ese programa no funcionará con el circuito que tienes en la imagen, ya que
en la imagen estas conectando el LM35 al analog pin 5, y en el programa estás
leyendo el analog pin 0.

Saludos!

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."