我正在研究一个项目,而我正在使用一个arduino Uno。我想使用4个屏蔽(OLIMEX Shield lcd 16x2)来打印数据(每个lcd的数据)。所以,我想我必须给每个lcd一个地址(或ID)。我在网上搜索了一些东西,但我没有找到答案。
你有什么建议吗?
提前谢谢。!!
答案 0 :(得分:0)
我已经问过这个问题了,我现在有了答案。
好吧,使用屏蔽型" OLIMEX Shield lcd 16x2"与使用名为" LCD16x2.h"的库有关,它需要使用I2C协议,而且这个库不允许你改变lcd的属性。在这个库中,你必须以这种方式初始化你的lcd:
LCD16x2 lcd;
解决方案是使用普通的lcd 16x2,它允许您使用引脚配置。 4 lcd的代码是这样的:
#include <LiquidCrystal.h>
// You only have to change your second number, make 11 or 10 or 9...
LiquidCrystal lcd1(12, 11, 5, 4, 3, 2);
LiquidCrystal lcd2(12, 10, 5, 4, 3, 2);
LiquidCrystal lcd3(12, 9, 5, 4, 3, 2);
LiquidCrystal lcd4(12, 8, 5, 4, 3, 2);
void setup()
{
// Your code
lcd1.begin(16, 2);
lcd2.begin(16, 2);
lcd3.begin(16, 2);
lcd4.begin(16, 2);
lcd1.print("text1");
lcd2.print("text2");
lcd3.print("text3");
lcd4.print("text4");
}
void loop()
{
lcd1.setCursor(0, 1);
lcd2.setCursor(0, 1);
lcd3.setCursor(0, 1);
lcd4.setCursor(0, 1);
lcd1.print("anythingYouWant");
lcd2.print("anythingYouWant");
lcd3.print("anythingYouWant");
lcd4.print("anythingYouWant");
}
谢谢大家!!