Uch*_*net 2 floating-point microcontroller lcd arduino 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 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");
}
Run Code Online (Sandbox Code Playgroud)
根据Print的文档,要指定要使用的小数位数,需要第二个参数。因此,在您的示例中,您可以使用
lcd.print(flowrate,4);
Run Code Online (Sandbox Code Playgroud)
和
lcd.print(volume,4);
Run Code Online (Sandbox Code Playgroud)