2022年7月17日日曜日

LCDディスプレイ1602A(I2C無篇)

  LCDディスプレイの表示には、その接続(通信)方法として「パラレル通信方式」やI2C通信などの「シリアル通信方式」があります。

 今回は基本となる「パラレル通信方式」で接続し表示させてみたいと思います。

 パラレル通信方式でディスプレイに表示させるにはESP8266-LCDモジュール間の配線が多くなります。今回は理解を深めるため基本的な接続方法となるパラレル通信方式でESP8266と接続し文字を表示させてみたいと思います。

■配線図

■部品リスト
ESP8266開発ボード
LCDディスプレイ1602A
ブレッドボード
USBケーブル
ジャンパーワイヤー
・可変抵抗(10KΩ小型ボリューム)
1602 LCDモジュール端子構成

ピン(端子)機能
VSSGND(電源)
VDD5V(電源)
V0コントラスト調整(電源)
RSラッチピン
(コントローラーにデータを入れる)
RWリード/ライトピン
(読み込み/書き込みの選択)
E Enableピン
(変更を許可するかを選択)
DB0~DB7 データビット(8ビット)
(4ビットモードでは上位ビットDB4-DB7のみ使用)
ALEDバックライト(アノード) : 5V
KLEDバックライト(カソード) : GND

■ESP8266と1602LCDモジュール端子の接続

LCDモジュールESP8266
VDD5V(VU)
VSSGND
R0可変抵抗器
RSD6
RWGND
ED5
DB4D1
DB5D2
DB6D3
DB7D4
A5V(VU)
KGND
■データ送信量(4ビット or 8ビット)
 LCDモジュールにはDB0~DB7までの8本のデータバスがあります。
 ESP8266からLCDに送る1回のデータ量を4ビットまたは8ビットで使うことが出来ます。

 今回Arduino IDE標準ライブラリ『LiquidCrystalライブラリ』を使用しますが、データ信号は4ビットと8ビット両方使うことが出来ます。

 今回は4ビットでのデータのやり取りで使用します。
 4ビットでのデータのやり取りでは上位ビットDB4~DB7での接続となり、2回に別けてデータを送信する形となります。(DB0~DB3は使いません)
とは言っても『LiquidCrystalライブラリ』がこのあたりの処理は代わりにやってくれるので難しいことは考えなくてもできちゃいます!

 データ信号ピンDB4~DB7ピン(4本)とRSピン・RWピン・EnableピンをArduinoの適切な位置に接続するだけです。

 それぞれのピンはデジタル信号でのやり取りとなります。
 LiquidCrystalのダウンロード:
 ダウンロード後、下記のところでインストールできます。
■プログラム
#include <LiquidCrystal.h>

// LCD ←→ Arduinoのピンの割り当て
// rs      →   D6
// rw      →   GND
// enable  →   D5
// d4      →   D1
// d5      →   D2
// d6      →   D3
// d7      →   D4
// [構文]LiquidCrystal(rs, rw,  enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal lcd(D6, D5, D1, D2, D3, D4);

void setup() {
  lcd.begin(16, 2);          // LCDの桁数と行数を指定する(16桁2行)
  lcd.clear();               // LCD画面をクリア
  lcd.setCursor(0, 0);       // カーソルの位置を指定
  lcd.print("Hello!");       // 文字の表示
  lcd.setCursor(0, 1);       // カーソルの位置を指定
  lcd.print("ESP8266");      // 文字の表示
}

void loop() {
}

■実物イメージ

 




0 件のコメント:

コメントを投稿

シンプルロボットカーセットの使い方

■ マイコン :ESP3266-CH340  シンプルの案として、マイコンは安いESP8266-CH340開発ボードを選びました。該当マイコンもWIFI機能があります。  ドライバーダウンロード場所:    https://sparks.gogo.co.nz/ch340.html...