LCD1602Aや2004AをI2C接続で使いこなす【ハード編】

AmazonでLCD1602AとLCD2004Aを購入しました。I2C接続用のシリアルIFモジュールと組み合わせて使うと便利です。
 ネットで検索すると色々ヒットしたのですが、スクロール機能や文字数の情報が少ないのでまとめておきます。

 もくじ(Index)

今回購入したもの。

LCD1602とLCD2004

両方ともキャラクターディスプレイです。HD44780互換コントローラー搭載で使い勝手がいいです。
LCD1602が16桁×2行
LCD2004が20桁×4行
表示できます。

I2CシリアルIFモジュール

LCDに取り付けるようになっており、I2Cアドレスが異なる2種類のモジュールがあります。Amazonで買うとどちらが来るのか分かりません。

基板に乗っているICで区別がつきます。アドレスはA0~A2のソルダジャンパをショートするかオープンにするかで設定します。
PCF8574T :I2Cアドレスは0x27 0x20~27に変更可能
PCF8574AT  :I2Cアドレスは0x3f 0x38~3fに変更可能

●アドレスの対応

ICA0A1A2I2Cアドレス
PCF8574T0000x20
1000x21
0100x22
1100x23
0010x24
1010x25
0110x26
1110x27
PCF8574AT0000x38
1000x39
0100x3a
1100x3b
0010x3c
1010x3d
0110x3e
1110x3f

上記のようにI2Cアドレスを変更すれば最大8~16台のLCDを同時に接続することができます。
★ただし、Amazonで購入すると指定はできないので最大8台と思ったいた方がいいでしょう。

取付

シリアルIFモジュールをLCDの裏側に半田付けします。

LCD2004AにシリアルIFモジュールを取り付けた様子

ラズパイとの接続

Amazonで購入できる格安のものは5V駆動です。そのまま接続すると壊れる可能性があるので信号の電圧レベルを変換する必要があります。(5Vでも動くことは動きますが、、、)

秋月電子で購入できるI2Cバス用双方向電圧レベル変換モジュール(PCA9306)を使用した配線は下記のようになります。

5VのLCDとラズパイとの接続方法

★3.3V駆動のLCD1602Aもあります。

少し値段が上がりますが3.3VのLCD1602もあります。レベル変換モジュールの値段を考えるとこちらでもいいかもしれません。I2CシリアルIFモジュールは3.3Vでも5Vでも一緒です。

電源を入れる

電源を入れる前に配線を確認しましょう。

特にVCCとGNDを間違えると部品を壊す可能性があるので注意してください。

正しく接続されているとバックライトが点灯し、奇数行に
■■■■■■■■■■■■■■■■
と表示されます。

●LCD2004が正常に起動した際の画面

コントラストの調整

 ■■■■■…と表示されなかった場合もしかしたらコントラストが低すぎるのかもしれません。シリアルIFモジュールに半固定抵抗が付いているので調整してみましょう。

コントラスト調整用の半固定抵抗

バックライトの調整

バックライトの調整はシリアルIFモジュール上のジャンパーピンを抜き、100kΩ(104)の可変抵抗を接続すると行うことができます。

今回の記事で利用したもの

今回の記事で利用したものは電圧レベル変換モジュール以外Amazonで購入しました。Primeだと値段が高いのでEasyWordMallというAmazonマーケットプレイスを利用しました。

Prime以外で購入すると中国から発送なので届くのは1~3週間程度かかります。その点は注意してください。

LCD

LCD 1602A
LCD 2004A

シリアルIFモジュール

I2CシリアルIFモジュール

可変抵抗、ワイヤー、ブレッドボード

可変抵抗セット
ジャンパーワイヤー(オス-メス)
ミニブレッドボード

電圧レベル双方向変換モジュール

I2Cバス用双方向電圧レベル変換モジュール(PCA9306)-秋月電子

Amazonの場合はKKHMF 5個 4チャンネル IIC I2C ロジック レベル 変換 双方向モジュール 5V Arduinoに対応が該当します。4ch変換できます。

ハードの準備は完了

ここまででハードウェアの準備は完了です。

後はソフト編で解説します。

LCD1602Aや2004AをI2C接続で使いこなす【ソフト編】

コメントを残す

メールアドレスが公開されることはありません。