プロが教えるわが家の防犯対策術!

arduino一台で複数のLCDを動作させることは可能でしょうか?
現在arduinoを用いた複数のLCDに別々の表示を行うプログラムを考えているのですが、
デジタルピンの対応関係から、どうしてもarduino1つに対しLCD1つ以上を考えられません。
LCDを複数用いる場合、arduinoも同数必要になるのでしょうか?

A 回答 (2件)

こんな感じ…かな?



LiquidCrystal lcd1(12, 11, 10, 5, 4, 3, 2);
LiquidCrystal lcd2(12, 11, 9, 5, 4, 3, 2);

void setup()
{
 lcd1.begin(2,6);
 lcd2.begin(2,6);
}

void loop()
{
 int st1=0;
 int st2=1;
 lcd1.setCursor(0,0);
 lcd1.print(st1);
 lcd2.setCursor(0,0);
 lcd2.print(st2);
}


LiquidCrystalクラスのコンストラクタで、引数7個のものだと
第3引数がEnableピンの番号を指定することになりますので……
# もちろん、配線はちゃんとやってくださいな。
    • good
    • 0
この回答へのお礼

非常に分かりやすいご回答有難う御座いました!

お礼日時:2014/09/15 11:30

ハードウェア上は、LCD_E イネーブルピンのみ別々にすれば、D0-7,RS,R/W は共通に出来ます


ただソフトウェアを、対応させる必要があります、(自作)
http://www.musashinodenpa.com/arduino/ref/index. …

もしくはI2C LCDを増設する方法もあります。
http://arduino.umemoto.org/home/i2c-lcd

注) バックライトは電気を食うので全体の消費電流に注意!

この回答への補足

回答有難う御座います!
enableピンのみ別々ということは、enableに指定したピンに対し別々の表示を指令するということでしょうか?

誠勝手なお願いではありますが、以下のLCD一台に二つの変数を表示するプログラムを、LCD二台に一つずつ表示するプログラムに変更する場合、構文としてどのようになるか例を示していただけると幸いです。


#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
lcd.begin(2,6);
}

void loop()
{
int st1=0;
int st2=1;
lcd.setCursor(0,0);
lcd.print(st1);
lcd.setCursor(1,0);
lcd.print(st2);
}

補足日時:2014/08/14 13:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!