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接続で使いこなす【ソフト編】

LCD1602Aや2004AをI2C接続で使いこなす【ハード編】” に対して3件のコメントがあります。

  1. 鈴木 文義 より:

     70歳の爺ですが、ラズベリーパイ4で遊んでいます。
    LCDを使い温度制御したいのですがそのソフトを勉強していますGPIOを使い、
    参考になるソフトは無いものですか ??
    宜しくお願いします。  鈴木

    1. もんごんた より:

      鈴木様

      コメントありがとうございます。

      ラズパイはできることも多いですが、やりたいことが具体的書かれていて正解はこれです!というものは中々見つかりません。自分で目的を達成するために何が必要なのか色々な情報を集めて組み合わせていく必要があります。

      温度制御を行いたいものはなんでしょうか?(一言で温度制御と言ってもエアコンで室温制御、水槽の温度制御などたくさんあります。)

      例えば室温の場合、調べて組み合わせるのは下記のようなものがあります。
      ・LCDの使い方(この記事)
      ・赤外線受信モジュールでリモコンの解析
      ・赤外線LEDでエアコンをコントロールする。

      ラズパイで電子部品を使って何かをしたい場合、初心者の方にはこちらの書籍をおススメしています。
      電子部品ごとの制御を学べる! Raspberry Pi 電子工作 実践講座 改訂第2版

      https://amzn.to/3fVjkKW

      ●手軽にエアコンで室温を制御したい場合SwitchBotという製品もあります。
      SwitchBot温湿度計とSwitchBotHubminiを組み合わせれば実現できます。

      https://raspberrypi.mongonta.com/switchbot-review-1/

      書籍を読んでもわからないことがあればお手伝いできることもあると思うので、またコメントやメールをください。

      よろしくお願いいたします。

  2. 匿名 より:

    工業高校生です。
    とても参考になりました。

匿名 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です