come posso far in modo di vedere solo una cifra dopo la virgola in una lettura?
ed e' giusto usare "float" o ci sono altri modi?
io adesso leggo x,xx vorrei sapere come fare x,x
#include <LiquidCrystal.h>
//legge analogread e converte in tensione 0 to 5v
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
float tension = 0; //serve per avere cifre dopo la virgola
void setup()
{
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("tensione su A0");
}
void loop()
{
lcd.setCursor(0, 1);
tension = analogRead(0) * 0.005 ;
lcd.print(tension);
delay(100);
}
allora, se la print è implementata come in serial, fai
print(numero, 1);
dove 1 è il numero di cifre dopo la virgola.
altrimenti devi usare una sprintf, che in pratica stampa una stringa come la printf del c ma anzichè a video, in un'altra stringa.
per esempio:
float a = 10.5555555;
char stringaFinale[10];
sprintf(stringaFinale, "%f.1", a);
lcd.print(stringaFinale);
il %f.1 significa: %f indica che vuoi stampare un float, .1 che vuoi solo un carattere dopo la stringa. Dovresti fare attenzione che le cifre del float non siano maggiori della grandezza della stringa, altrimenti hai un overflow!