今回は、ArduinoでLCDモジュールを使用して、文字の表示や書き換えをする方法を紹介します。デバッグ用途としてもよく使用するデバイスなので、今後の制作過程で役立つと思います。
目次
使用する部品一覧
使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。
- Arduino MEGA2560 R3 …1個
- 830穴 ブレッドボード …1個
- LCD1602モジュール …1個
- ポテンショメータ(10kΩ) …1個
- ジャンパワイヤ(オス-オス) …16個
LCDモジュールの特徴や取り扱い方法
今回使用するモジュールは、LCD1602モジュールです。このモジュールは、LEDバックライト付きで、2行×16文字を表示できます。LCD1602モジュールはピン数が多いですが、各ピンの機能は下記ののとおりです。
電源(VDD)とグランド(VSS)以外に、Arduinoとの通信用ピン(RS, R/W, E, D0~D7)、バックライト制御ピン(A, K, VO)で構成されています。
ポテンショメータの特徴や取り扱い方法
ポテンショメータは、つまみを回すことで抵抗値を変えることができます。これにより、電源電圧を分圧することで、任意の電圧を作成できます。今回は、LCDのバックライトの明るさ制御(VO端子)をポテンショメータを使用して行います。ポテンショメータの端子は、抵抗の両端(A, E)と中間(S)の3本あります。
回路図
VDDとLED+(もしくはA)は電源端子なので、5Vに接続します。VSSとLED-(もしくはK)とR/Wは、GNDに接続します。データ線(DB4~DB7)は、D9~D12端子に接続します。接続先を間違わないように注意してください。イネーブル(E)はD8端子、レジスタセレクト(RS)はD7端子に接続します。最後に、バックライト制御用端子(VO)をポテンショメータのS端子に接続し、ポテンショメータのA,E端子は、それぞれ5VとGNDに接続します。
配線図
ブレッドボードを使用した配線は図のとおりになります。
組立完成写真
実際に組み立てた写真です。同じようにできましたか?
プログラム
最初に、LCD用のライブラリ(LiquidCrystal.h)を読み込みます。このクラスを使用するため、宣言と初期設定(使用する端子設定)を同時に行います。setup()では、beginで表示桁数と行数を設定し、”Hellow, World!”の表示を行います。loop()では、2行目にプログラムスタート時からの経過時間を表示させるために、setCursor(col,row)でカーソル位置を指定し、mills()で経過時間[ms]を取得します。
動かしてみよう
プログラムを書き込んで、実際に動かしてみてください。
今回学んだポイント
- LCDモジュールは、バックライト制御用端子がある。
- バックライト制御は、ポテンショメータを使用すると調整が容易になる。
- ポテンショメータは、つまみの回転角度によって抵抗値が変わる。
- LCDモジュールのプログラムは、ライブラリ(LiquidCrystal.h)を使用することで、容易に記述することができる。
改造してみよう
もう少し理解を深めるために、自分で改造してみてください。
- 色々なセンサを使用して、取得値をLCDに表示してみよう。
コメントを残す