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");
}
謝謝大家!