1602互換 LCD (以下 1602) の使い方のまとめです
- 信号線の種類
1602 の信号線には RS, R/W, Enable と D0 ~ D7 のデータ用の線があります。 - 一度に扱うデータのモードについて
1602 には一度に 4bit を書き込む 4bit モードと一度に 8bit を書き込む 8bit モードがあります。
4bit モードでは D4 ~ D7 に 4bit ずつに分けて2回、データを送ります。
1602 を I2C で制御する場合、1602 を 4bit モードにして各種信号 4bit と LCD 用の信号 4bit の計 8bit を I2C のデータとして送ります。 - 1602 の信号線と I2C に送るデータの対応
bit 7~ 4: データの D7 ~ D4 (1回目), D3 ~ D0 (2回目)
bit 3: バックライト、1 で点灯
bit 2: Enable、この信号を 1 → 0 にするとデータが送られます
bit 1: R/W、1 で Read、0 で Write
bit 0: RS (下記 4番参照) - 書き込みデータの種類
書き込みデータには制御コマンドと表示データが有ります
Register Select (RS) 信号で切り替えます
RS が 0 ならコマンド、RS が 1 なら表示データです。 - 制御コマンドの種類
bit 7 ~ 1 が 0: 画面クリア
bit 7 ~ 2 が 0: カーソルをホームポジション (左上) へ
bit 7 ~ 3 が 0: Entry Mode、bit 1 でカーソルの移動方向 (1 = 右)、bit 0 でスクロールの有無 (1 でスクロールあり)
bit 7 ~ 4 が 0: 画面のオンオフ、bit 2 が 1 で画面オン、bit 1 が 1 でカーソル表示、bit 0 が 1 でカーソル点滅
bit 7 ~ 6 が 0: 機能設定、bit 4 が 0 で 4bit モード、bit 3 が 1 で 2行表示モード、bit 2 が 0 で 5 x 8 ドットのフォントを使用
bit 7 が 0: 書き込み位置設定、0x80 で 1行目の先頭、0xC0 で 2行目の先頭
次回は実際のコードを組んでみます
C言語では bit 操作の経験がありますが
Python ではどのようにやるのだろうか、その勉強も兼ねて
まずは I2C を使わずに 4bit モードで LCD の文字表示に挑戦してみます


コメント