Pages: [1]   Go Down
Author Topic: Novel con arduino y sensor de temperatura  (Read 1339 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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-grin
Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tienes el pdf del modulo en cuestion?
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

0
Offline Offline
Newbie
*
Karma: 0
Posts: 45
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ¿?  smiley-roll-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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

El datasheet lo tengo por aqui...
https://docs.google.com/open?id=0B84N2SrJaybwZTgxYjM4ZmEtY2EyZi00YjVjLWIzOTctYTlhMjJkM2MxMTBl

Como lo planteariais vosotros?

Un saludo
Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Existe una libreria con ejemplos
http://code.google.com/p/tm1638-library/
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
« Last Edit: December 10, 2011, 03:59:06 pm by aguirrech » Logged

Pages: [1]   Go Up
Jump to: