更改液晶屏的地址

Changing the address of an lcd shield

我正在做一个项目,我正在使用 arduino Uno。我想使用 4 个屏蔽(OLIMEX Shield lcd 16x2)来打印数据(每个 lcd 的数据)。所以,我想我必须给每个 lcd 一个地址(或 ID)。我在网上搜索了一些东西,但没有找到答案。

你有什么建议吗?

提前致谢!

我已经问过这个问题,现在有了答案。

嗯,使用屏蔽类型"OLIMEX Shield lcd 16x2"与使用名为"LCD16x2.h"的库有关,该库需要使用I2C协议,并且此库不允许您更改属性液晶显示器。在这个库中,你必须这样初始化你的液晶显示器:

    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");
}

谢谢大家!!