sábado, 3 de marzo de 2012

SENSO DE TEMPERATURA CON LM35 EN ARDUINO

Conexion básica para sensar temperatura utilizando un sensor LM35 (termistor) mediante el programa ARDUINO.
Si no tienen el programa aqui esta la pagina oficial para que descarguen el ARDUINO que deseen, recuerden que las series anteriores al "21" no manejan ARDUINO UNO ni MEGA, todas las series siguientes a la "21" lo manejan perfectamente.

http://arduino.cc/hu/Main/Software

Cuando se instala el ARDUINO y se conecta el cable USB notaremos que los datos no se cargan o simplemente este bota errores varios de lectura y esto ocurre porque los drivers no estan instalados, por esta razón les dejo un video en youtube para que aprendan a instalar los drivers, sea cual sea la serie ARDUINO:

http://www.youtube.com/watch?v=BQArZvGSax8

Ya teniendo todas las herramientas necesarias podemos empezar a leer temperatura.

LM35:

Conexion Basica:

Código:


float pinTemperatura = 2;
float tempValor ;
void setup()
{
Serial.begin(9600);
}
void loop()
{
tempValor = ( 5.0 * analogRead(pinTemperatura) * 100.0) / 1024.0;
Serial.print("Temperatura (Celsius) = ");Serial.println(tempValor);
delay (1000);
}

Explicaremos el código línea por línea, así que tendremos en cuenta que hay 15 de ellas empezando desde la palabra float.

Línea 1: Utilizaremos el pin 2 y le pondremos un nombre de lectura entera incluida decimal.
Línea 2: Variable entera+decimal donde guardaremos la temperatura.
Línea 5: Iniciamos el puerto serie para poder monitorizar.
Línea 7: Función para repetir el contenido indefinidamente.
Línea 9: Transformación de la lectura analógica de tensión en temperatura.

5 = Valor analógico de tensión.
Analog read = lectura analógica de tensión.
100.0= Resolución de lectura en microsegundos.
1024.0 = 210, valor binario de 10 dígitos binarios.

Línea 12: Imprimir el valor del puerto serie donde podremos monitorizarlo.
Línea 14: Espera de 1s para cada lectura de temperatura.


Espero haya sido de su agrado este sencillo ejercicio :D

7 comentarios:

  1. Hola compañero, tengo una duda, si yo quisiera graficar el valor del analog read, como lo podria hacer para ver la escala de la grafica en un nivel adecuado?

    ResponderEliminar
  2. Hola disculpa pero si verificando tu codigo el pin 2 lo estas declarando como digital, y el sensor es analogico por lo cual debe ser anolog o A2...

    ResponderEliminar
    Respuestas
    1. Los pines analógicos (A0, A1, A2...) no necesitan ser declarados como entradas, siempre lo son. Por otro lado, la letra A para referirse a ellos no es necesaria. Basta con utilizar el número de pin respectivo. Un saludo!!!

      Eliminar
  3. Hola como estas, tengo una pregunta, es necesario importar la libreria LM35... gracias

    ResponderEliminar
  4. Hola zetalasa
    En los siguientes dos informes que tengo en el blog (ON-OFF y PID con arduino) está un programa que es fácil de utilizar para graficar estas medidas :).....te recomiendo los revises y los apliques, gracias.

    ResponderEliminar
  5. Hola alexandher
    Para eso se hace la conversión en la línea 9, leelo de nuevo, gracias.

    ResponderEliminar