電子工作

【Arduino】LCD(液晶画面)の使い方

はじめに

液晶ディスプレイをArduinoに接続し、文字を表示する方法を解説します。

また、本記事で解説するやり方は、パラレル通信方式のものです。

今回使用するのは、 1602Aと呼ばれるLCDで、

16文字x2行の計32文字の表示が可能です。

必要なもの

  • Arduino(nanoでもUNOでもOK)
  • LCDモジュール(1602A)
  • 10kΩ(103)の可変抵抗 2個

使用するLCDの仕様

LCDモジュールのピンアサインは以下の通りです。

3番ピン(V0表記)では画面のコントラストを調整することができます。(後述)

7~10番のピン(DB0~DB3)は、8bitモードで使用する際に使用します。

4bit操作をする今回、このピンには何も接続しません。

15,16番ピンはバックライトのLEDです。

詳しくは1602Aのデータシートを参照してください。

配線

実体配線図

実体配線図

LCDと電源の接続

まず、LCDと電源周りの配線をしてしまいましょう。

LCDピン接続先
VssGND
Vdd5V
V010k可変抵抗(GND)
R/WGND
A10k可変抵抗(5V)
KGND

ArduinoとLCDの接続

LCDピンArduino機能
RSD5レジスタ選択
ED6動作起動信号
DB4D9データバス
DB5D10データバス
DB6D11データバス
DB7D12データバス

ここでは、ArduinoNanoを使って説明をしていますが、ArduinoUNOでも実験可能です。

バックライトの輝度調節方法

LCDのA(アノード)、K(カソード)を接続するとバックライトが点灯します。

この間に可変抵抗を接続するとバックライトの輝度を調節することができます。

可変抵抗は10kΩ(103)のものが調節しやすいと思います。

コントラストの調整

コントラストを調節できるようにするためには、LCDのV0端子とGNDの間に可変抵抗を接続します。

可変抵抗はバックライトと同じく、10kΩのものを使用すればOKです。

ソースコード

LiquidCrystal ライブラリを利用し、LCD に文字を出力を簡単にすることができます。

デフォルトでインストールされているので、そのままインクルードすればOKです。

#include<LiquidCrystal.h>
//LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(5,6,9,10,11,12); //使用ピン指定コンストラクタ

void setup() {
  lcd.begin(16,2); //16列2行のLCDを使用することを宣言
  lcd.clear(); //画面のリフレッシュ
  lcd.setCursor(0,0); //カーソルを0列0行目にセット
  lcd.print("Hello,world!"); //文字を表示
  lcd.setCursor(0,1); //カーソルを0列1行目にセット
  lcd.print("Let's Mechatro!"); //文字を表示
}

void loop() { //ループ処理はないので空
}

プログラムを実行するとこのように動作します。

全体図

さいごに

今回、この記事は「取り敢えずLCDで文字を表示してみたい!」という方を対象に執筆しました。

その為、できるだけ必要最低限の情報量の記事となっています。

もし、ライブラリの仕様や、LCDの仕様について興味があれば、「参考サイト」を見ていただければ理解が深まると思います。

参考サイト