Compre en seedstudio un kit que viene con un display LCD http://www.seeedstudio.com/wiki/Grove_-_Serial_LCD_v1.0b y un Arduino UNO, una de las primeras pruebas que hice fue mostrar la temperatura que recojo de un sensor, pues bien ahí es donde tengo el problema, solo me muestra las unidades, o sea lo que hay antes del punto.
Este código me muestra 20 (por ejemplo) y la temperatura es 20.35 (por ejemplo) que es la lectura que obtengo por la salida serie y que visualizo en el IDE de Arduino.
Algo estoy haciendo mal?
Gracias.
Adjunto codigo:
/*
Temperatura en LCD
*/
// include the library code:
#include <SerialLCD.h>
#if ARDUINO < 100
#include <NewSoftSerial.h> //this is a must
#else
#include <SoftwareSerial.h>
#endif
int a;
int del=1000; // duration between temperature readings
float temperatura = 0.0;
int B=3975;
float resistencia;
// initialize the library
SerialLCD slcd(11,12);//this is a must, assign soft serial pins
void setup() {
// set up
slcd.begin();
// Print a message to the LCD.
slcd.print("Temperatura:");
Serial.begin(9600);
}
void loop() {
a=analogRead(0);
resistencia=(float)(1023-a)*10000/a;
temperatura=1/(log(resistencia/10000)/B+1/298.15)-273.15;
delay(del);
slcd.setCursor(0, 1);
slcd.print(temperatura, DEC);
// slcd.print(".00");
Serial.println(temperatura);
}
Hola, un último intento: prueba definir temperatura como un double. En el caso de que no funcione, tendrías que modificar el driver. A no ser que no estés utilizando la versión 1.0 del entorno Arduino. Aunque tampoco te podría decir con seguridad si funcionaría o no.
fm, voy a probar con la 022 o 023 porque igual el problema lo tengo que la libreria SerialLCD que viene con el display no se lleva muy bien con la versión de SoftwareSerial que viene con la 1.0 que si no estoy equivocado cambió con el cambio de versión.
A ver si me pasa como lo comentado en este enlace Arduino Forum
Bueno no hay manera, he probado mil y uno combinaciones, lo dejo en standby por si alguna alma caritativa que tenga este mismo kit con este display me haga la prueba con el código que puse en el inicio del post.
Me recomendais algún display aunque sea en color y mas grande, pero que sea mas standar??