Floating point LCD显示不同的浮点数
我正在开发一个在LCD上显示输出的系统Floating point LCD显示不同的浮点数,floating-point,arduino,microcontroller,lcd,arduino-uno,Floating Point,Arduino,Microcontroller,Lcd,Arduino Uno,我正在开发一个在LCD上显示输出的系统 我将变量数据类型声明为float,但LCD显示的0.00我没有初始化,因为我用0.0 我希望LCD显示屏显示0.000,但无论我如何更改初始化值,LCD显示屏始终显示0.00 .那么,我如何才能使LCD显示0.000 下面是我的代码: #include <LiquidCrystal.h> volatile int NbTopsFan; float flowrate = 0.0; float volume = 0.0; int hallSen
我将变量数据类型声明为float,但LCD显示的0.00我没有初始化,因为我用0.0
我希望LCD显示屏显示0.000,但无论我如何更改初始化值,LCD显示屏始终显示0.00 .那么,我如何才能使LCD显示0.000
下面是我的代码:
#include <LiquidCrystal.h>
volatile int NbTopsFan;
float flowrate = 0.0;
float volume = 0.0;
int hallSensor = 2;
LiquidCrystal lcd (12, 11, 9, 8, 7, 6);
void rpm() {
NbTopsFan++;
}
void setup(){
pinMode(3, OUTPUT);
pinMode (hallSensor, INPUT);
Serial.begin (9600);
attachInterrupt (0, rpm, RISING);
lcd.begin (16, 2);
lcd.clear ();
}
void loop (){
digitalWrite(3, HIGH);
NbTopsFan=0;
sei();
delay(1000);
cli();
flowrate = NbTopsFan / 7.5;
volume += (flowrate / 60);
lcd.clear ();
lcd.setCursor(0, 0);
lcd.print("flow :");
lcd.print(flowrate);
lcd.print("L/m");
lcd.setCursor(0, 1);
lcd.print("VOl :");
lcd.print(volume);
lcd.print("L");
Serial.print("Pulse");
Serial.print(NbTopsFan);
Serial.print(flowrate);
Serial.print("L/m");
Serial.print(volume,4);
Serial.print("liter");
}
#包括
挥发性有机物;
浮子流量=0.0;
浮子体积=0.0;
int霍尔传感器=2;
液晶显示器(12,11,9,8,7,6);
void rpm(){
NbTopsFan++;
}
无效设置(){
pinMode(3,输出);
pinMode(霍尔传感器,输入);
Serial.begin(9600);
连接中断(0,rpm,上升);
lcd.begin(16,2);
lcd.clear();
}
空循环(){
数字写入(3,高);
NbTopsFan=0;
sei();
延迟(1000);
cli();
流量=NbTopsFan/7.5;
体积+=(流速/60);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“流:”);
打印(流量);
lcd.打印(“L/m”);
lcd.setCursor(0,1);
lcd.打印(“卷:”);
lcd.打印(卷);
lcd.打印(“L”);
串行打印(“脉冲”);
串行打印(NbTopsFan);
串行打印(流速);
连续打印(“L/m”);
系列印刷品(第4卷);
连续打印(“升”);
}
根据的文档,要指定要使用的小数位数,需要第二个参数。所以在你的例子中,你可以使用
lcd.print(flowrate,4);
及
解决了,非常感谢。好的,谢谢你的回答,但是当我尝试使用Sertial.println(第4卷);为什么不能展示同样的案例<我该怎么办。。。
lcd.print(volume,4);