ArduinoにLCDを繋いで文字を表示する


Arduinoにて何かしらの情報をLCDに表示したい場合があります。HD44780 1602 LCDディスプレイを使い文字を表示した手順を記します。

準備

Arduino UNO R3 互換品
HiLetgo® 2個セットDC 5V HD44780 1602 LCD ディスプレイモジュール 16×2キャラクタ LCDブルーブラックライト
HiLetgo® 5個セット5V 1602LCD IIC/I2C/TWI/SPIシリアルインターフェイスモジュールポートarduinoに対応
・ブレットボード
・ジャンパワイヤ (オス-メス)×4個


届きました。
LCD

シリアルインタフェースモジュールポート

回路作成

Step1. HD44780 1602 LCD ディスプレイとシリアルインターフェースモジュールポートを接続
下記図のように接続します。直接はんだ付けしてもOKです(ショートしないよう気を付けて下さい)。詳細はDatasheetご参照です。

Step2.シリアルインタフェースポートとArduinoを接続
下記の通り接続します。

Sketch

LiquidCrystal_I2C.hライブラリをインストールし、HelloWorldサンプルコードを参考にさせて頂きました。
ライブラリは、ArduinoIDEの[スケッチ | ライブラリをインクルード | ライブラリを管理] からライブラリマネージャを開き、"LiquidCrystal I2C" を検索してインストール可能です。

・今回の場合はI2Cアドレスを0x27と指定しています。アドレス設定はシリアルインタフェースボードのAddressJumperに依存するようです。詳細は参考に記載されている通りのようです。

//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("Hello, world!");
  lcd.setCursor(0,1);
  lcd.print("Arduino LCM IIC 2004");
}


void loop()
{
}

テスト

Hello, world!
Arduino LCM IIC 2004
と表示されればOK

マイコンに書き込んだがLCDに何も表示されない場合は下記を確認下さい。
 ・LCDディスプレイのコントラスト調整が適切であること。L
  ⇨CD裏面の青色のプラスネジの半固定抵抗でコントラスト調整をしてみて下さい。(私の場合はコントラスト調整が足りず、調整したら文字が見えました。)

参考

1602LCDをI2C変換アダプタを使ってArduinoで表示する。
[I2C] 1602 LCD ディスプレイ (HD44780 + PCF8574
Datasheet I2C 1602 Serial LCD Module
組み込みエンジニアでなくても週末にArduinoを使って遊ぶ