- 締切済み
arduinoによるLCD駆動について
arduino一台で複数のLCDを動作させることは可能でしょうか? 現在arduinoを用いた複数のLCDに別々の表示を行うプログラムを考えているのですが、 デジタルピンの対応関係から、どうしてもarduino1つに対しLCD1つ以上を考えられません。 LCDを複数用いる場合、arduinoも同数必要になるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
こんな感じ…かな? 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ピンの番号を指定することになりますので…… # もちろん、配線はちゃんとやってくださいな。
- koujikuu
- ベストアンサー率43% (429/993)
ハードウェア上は、LCD_E イネーブルピンのみ別々にすれば、D0-7,RS,R/W は共通に出来ます ただソフトウェアを、対応させる必要があります、(自作) http://www.musashinodenpa.com/arduino/ref/index.php?f=1&pos=926 もしくは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); }
お礼
非常に分かりやすいご回答有難う御座いました!