Novel con arduino y sensor de temperatura

Antes de todo presentarme, hace mucho que visito vuestro foro y con vosotros aprendo cada dia. Me he lanzado con un proyecto, y me gustaria me hechaseis una mano pues soy novato en esto de la electronica y de la programacion.

Me he hecho con una pantalla LED TM1638 como esta;

http://club.dealextreme.com/forums/Forums.dx/threadid.1017062

Y me gustaria poder transmitir los valores de un sensor de temperatura TMP36 a la pantalla. Os dejo el codigo para que le echeis un vistazo:

#include <TM1638.h> // carga librerias para la pantalla LED

TM1638 module(8, 9, 7); // define el modulo de la pantalla en pin datos 8, clock en pin 9 y strobe en pin 7
int temperaturePin = 0; //pin analogico del sensor TMP36

val temperature = 0;

void setup()
{
Serial.begin(9600); //abre comunicacion serial con el pc

}

void loop()
{
int temperature = getVoltage(temperaturePin); //lectura del sensor de temperatura en pin analogico
temperature = (temperature - .5) * 100; //conversion para obtener valores de temperatura
Serial.println(temperature); //monitoriza el resultado en pc
module.setDisplayToString(temperature); //monitoriza en pantalla LED la variable temperature
delay(1000); //espera un segundo
}

float getVoltage(int pin){
return (analogRead(pin) * .004882814); //convierte el valro analogico de 1024 a digital 255
}

Saludos a todos y gracias por la ayuda. :smiley:

Tienes el pdf del modulo en cuestion?

No entiendo esto: "convierte el valro analogico de 1024 a digital 255" (valor lo entiendo)

Si quieres hacer esto ¿no es más fácil discriminar los dos últimos bits? algo asi: return (analogRead(pin) >> 2)

Además usas un float que después conviertes a int y después le restas 0.5 ¿? :cold_sweat:

Mejor primero multiplicar por 100 y después restar 50 .¿O estoy muy espeso?

Ojo con las conversiones de tipos que dan muchos dolores de cabeza. Usa float solamente cuando sea imprescindible. Es mi experiencia.

No me mateis por favor que estoy aprendiendo a base de ejemplos... :wink:

El datasheet lo tengo por aqui...

Como lo planteariais vosotros?

Un saludo

Existe una libreria con ejemplos

si, pero no consigo enviar el valor analogico al display...

Edit: lo acabo de conseguir con

module.setDisplayToString( analogRead(0));

Una ultima cuestion, como podria hacer para leer varias entradas analogicas, de distintos sensores, e irlas alternando con un pulsador?