Pages: [1]   Go Down
Author Topic: cifre dopo la virgola per una tensione  (Read 932 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 0
Posts: 689
AHHAH
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
#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);
}
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
God Member
*****
Karma: 0
Posts: 689
AHHAH
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie, funziona!

lcd.print(tension0, 1);

mostra solo la prima cifra dopo la virgola smiley
Logged

Pages: [1]   Go Up
Jump to: