用Arduino进行液晶LCD编程?
我想让我的LCD显示“电压=(传感器值)”,但现在我可以让程序在转动电位计时识别该值的唯一方法是,如果将其放入一个循环中。但是当我把它放在一个循环中时,根据电位器的设置位置,整个屏幕会被填充1s,2s,3s,4s或5s。用Arduino进行液晶LCD编程?
如果我没有在一个循环中,然后无论设置电位器是什么将弹出在屏幕上,并将不会改变,如果电位器转动。
我怎样才能把一个循环的结果放在一个循环之外,所以我可以有“(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);
}
听起来像print()
每次调用时都会清除以前数据的屏幕(尽管相关文档和库代码可用here和here尚不清楚)。
如果是这种情况,您需要在回路中打印Voltage=
字符串以及传感器值。尝试将您的代码更改为:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int sensorPin = A0;
void setup()
{
lcd.init();
lcd.backlight();
}
void loop()
{
int sensorValue = 0.004882812 * analogRead(sensorPin) + 1;
String display = "Voltage=";
display += sensorValue;
lcd.print(display);
}
谢谢,马修!我会试试这个代码。 – Eduardo 2012-04-25 15:59:34
这就是我上周提出的。感谢所有提供意见的人!
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {}
void loop()
{ lcd.init();
lcd.backlight();
int VoltsInput = A0;
int VoltsRange = 0;
int VoltsPercent = 0;
VoltsRange = (5.0/1023.0) * analogRead(VoltsInput);
VoltsPercent = (((5.0/1023.0) * analogRead(VoltsInput))/5) * 100;
lcd.print(VoltsRange);
lcd.print("V ");
lcd.print(VoltsPercent);
lcd.print("%");}
恭喜修复!如果可以,请确保将您的答案标记为“已接受”,以便其他人能够从您的成功中学习。干杯〜 – 2012-04-25 16:20:03
[与Arduino的LCD编程]的可能重复(http://*.com/questions/10220673/lcd-programming-with-arduino) – 2012-04-20 19:07:25