Arduino を用いて LCD に文字を表示
ここでは Arduino に液晶ディスプレイ (Liquid Crystal Display) を接続して、文字を表示する方法を説明します。
使用する Arduino ボードは Arduino Uno。
ソフトウェアの開発環境は Arduino Software (IDE) を用います。
LCD は基本的な文字 LCD (Character LCD) の 1602A です。16x2 (16文字2行) 表示が可能です。
定格は次の通りです。
ピン配置は次の通り。
ピン番号が 1 から順番に VSS, VDD, ... と表示してあります。15 番と 16 番がデータシートでは、 LED+ と LED- となっていますが、A と K になってますね。
Arduino と LCD を接続する
どのように配線するかということですが、まずは簡単なところから。
まず電源は 1 ~ 3 番。VSS と V0 は GND。VDD は +5.0V。バックライトの電源は 15 ~ 16 番。LED+ (A) は +5.0V で、 LED- (K) は GND。
DB0 ~ DB3 は 4ビット操作の時は使用しません。
それから 5 番の R/W は今は書き込むので "L" (Low) すなわち、GND です。
残りは Arduino と接続します。
ではどこに接続するかということですが、ここは次のように決めます。
LCD ピン | Arduino ピン | 説明 |
---|---|---|
RS | 4 | Register Select Signal |
E | 6 | Operation (データ R/W) Enable Signal |
DB4 | 10 | Data Bus Line |
DB5 | 11 | |
DB6 | 12 | |
DB7 | 13 |
上記から次のようになります。
これで Arduino と LCD が接続できました。いよいよスケッチから文字を出力してみましょう。
Arduino の LiquidCrystal ライブラリを利用して LCD に文字を出力
Arduino から LCD を利用するために LiquidCrystal ライブラリが利用できます。 リファレンスを参照すると、LiquidCrystal のコンストラクタで次のようにピン番号を指定すれば良いことがわかります。
LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal ライブラリを用いて Arduino から LCD に文字を出力するコードは次のようになります。
#include <LiquidCrystal.h>
LiquidCrystal lcd( 4, 6, 10, 11, 12, 13 );
void setup() {
lcd.begin( 16, 2 );
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
}
void loop() {
}
実際にブレッドボードを利用して Arduino と LCD を接続し、スケッチをアップロードすると次のようになります。