我希望液晶显示器显示“Voltage =(sensorValue)”,但现在,当我转动电位计时,让程序识别该值的唯一方法是将其置于循环中。但是,当我将其循环放置时,取决于电位计的设置位置,整个屏幕将充满1s,2s,3s,4s或5s。
如果我没有将其循环,那么打开电位器的任何设置都会在屏幕上弹出,并且如果打开电位器则不会改变。
如何将循环的结果放在循环之外,这样我就可以拥有“(Voltage = sensoreValue)”?
这是我的程序:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.init();
lcd.backlight();
int sensorPin = A0;
int sensorValue = 0;
sensorValue = 0.004882812 * analogRead(sensorPin) + 1;
lcd.print("Voltage=");
}
void loop()
{
int sensorPin = A0;
int sensorValue = 0;
sensorValue = 0.004882812 * analogRead(sensorPin) + 1;
lcd.print(sensorValue);
}
最佳答案
您要求它打印读数,并且它正在执行-它正在打印每个读数!
我怀疑您要么只希望值更改才打印
int sensorValue = 0;
int prevValue = 0;
void loop()
{
sensorValue = 0.004882812 * analogRead(sensorPin) + 1;
if (sensorValue != prevValue) {
lcd.print(sensorValue);
prevValue == sensorValue;
}
}
或者,您可以打印'n'个退格键,这样,如果您的显示lcd.print支持,则将新值打印在旧值的顶部。