ArduinoでSTEM教育​ 基礎編:LCDモジュール

ArduinoでSTEM教育​ 基礎編:LCDモジュール

今回は、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]を取得します。​

ソース:Elegoo Mega 2560 The Most Complete Starter Kit (www.elegoo.com/download)

動かしてみよう

プログラムを書き込んで、実際に動かしてみてください。

今回学んだポイント

  • LCDモジュールは、バックライト制御用端子がある。​
  • バックライト制御は、ポテンショメータを使用すると調整が容易になる。​
  • ポテンショメータは、つまみの回転角度によって抵抗値が変わる。​
  • LCDモジュールのプログラムは、ライブラリ(LiquidCrystal.h)を使用することで、容易に記述することができる。

改造してみよう

もう少し理解を深めるために、自分で改造してみてください。​

  • 色々なセンサを使用して、取得値をLCDに表示してみよう。

Arduino基礎編カテゴリの最新記事