0
我正在开发一个项目,我正在使用arduino Uno。我想使用4个屏蔽(OLIMEX Shield lcd 16x2)打印数据(每个液晶显示屏都有数据)。所以,我认为我必须给每个液晶显示器一个地址(或一个ID)。我在网上搜索找到一些东西,但我没有找到答案。更改液晶屏蔽的地址
你有什么建议吗?
预先感谢您。
我正在开发一个项目,我正在使用arduino Uno。我想使用4个屏蔽(OLIMEX Shield lcd 16x2)打印数据(每个液晶显示屏都有数据)。所以,我认为我必须给每个液晶显示器一个地址(或一个ID)。我在网上搜索找到一些东西,但我没有找到答案。更改液晶屏蔽的地址
你有什么建议吗?
预先感谢您。
我已经问过这个问题,现在我已经得到了答案。
那么,使用屏蔽类型“OLIMEX Shield lcd 16x2”与使用名为“LCD16x2.h”的库有关,这需要使用I2C协议,并且该库不会让您更改lcd的属性。在这个库,你必须初始化你的LCD是这样的:
LCD16x2 lcd;
的解决方案是使用普通液晶16×2,允许您使用引脚配置。您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");
}
谢谢大家!