1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IoTLTAdvent Calendar 2021

Day 22

JLX12864G 液晶を ESP32で動かしてみる

Last updated at Posted at 2021-05-19

中国 JLX 社の 128x64の SPI接続LCDを買ってきました。

image.png

これを ESP32で動かしてみます。

JLX12864G 液晶スペック

  • 型番 JLX12864G-332-PN
  • 128x64 2.1in モノクロ液晶
  • 液晶色:青/白 、白/青 または 黒/緑
  • 見た目 STN 形式
  • バックライトLED付
  • 接続 SPI
  • 動作電圧 3.3V
  • コントローラ ST7567
  • PCB付き
  • PCBサイズ 58.4x47.5mm
  • 表示サイズ 48.62x24.94mm
  • 使用LCDモジュール JLX12864G-332
  • 消費電力 バックライト無し 1mW(3.3V0.3mA),バックライト点灯時最大 150mW(3.3V45mA)

JLX 社ホームページ
http://www.jlxlcd.cn/
商品ページ
http://www.jlxlcd.cn/html/zh-detail-274.html
データシート
http://www.jlxlcd.cn/UpFile/2014822141524.pdf

環境

  • Arduino 1.8.10 for Linux
  • esp32 by Espressif System Version 1.0.3
  • WEMOS LOLIN32

購入

taobao で購入しました。

image.png

通信方法と電源電圧、色が選択して購入できます。SPI版、3.3Vで色はそれぞれを購入しています。

PCB

image.png

image.png

SPI 版を購入しました。購入したものを調べてみると基板の R3,R4 のどちらをジャンパーするかでモードを作り分けているようです。

JLX12864G の SPI 信号線

通常の4線式SPIは、MOSI、MISO, CS(SSと呼称のこともあり),CLOCK、の4本となりますが、今回のSPI通信にはそれに加え CD 信号が必要となります。更に SPI 信号とは別に 液晶モジュール自体をリセットする RST 信号も配線します。

実は今回の実際の配線は MISO が無いため合計5本です。更に液晶モジュール上の表記では、一般的な表記ではなく以下のような表記になっています。

SPI信号名 液晶モジュール上の端子表記
MOSI D7(SDA)
MISO 使用せず
CLOCK D6(SCK)
CS CS
CD RS
(リセット信号) RST

余談として、CD信号が必要なSPIは「4-wire SPI」と呼ばれることもありますが、MOSI,MISO,CLOCK,CS のセットのことを 4-wire SPI と呼ぶ方が主流ぽいです。信号線の把握には注意が必要です。
cf.,電子ペーパー を ESP32 と Arduino開発環境で使う その3
https://qiita.com/nanbuwks/items/1a4d58fc7f74ab8c8d85

配線

以下のように配線しました

LCD PCB上表記 信号の意味 ESP32信号 WEMOS LOLIN32 PCB表記
LEDA LED電源 3V3 3V3
VSS GND GND GND
VDD 3V3 3V3 3V3
RS Data/Command 15 15
RST RESET 21 SDA/21(*1)
CS CableSelect 5 SS/5/LED
07(SDA) MOSI 23 MISO/23(2*)
06(SCK) CLOCK 18 SCK/18

*1 WEMOS LOLIN32 上の SDA は I2C 通信のためのものです。今回はESP32のハードウェアSPIのデフォルトピン配置を使うため、別の GPIO23 を使います。
*2 PCB 上に書かれている MISO/23 は誤植です。

ソフトウェア

ソフトウェアのサンプルがデータシートに書かれている他、Arduino のライブラリなどでも使えそうなものがいくつかあります。

JLX12864Gに使われている ST7567 は、ST7565またはUC1701 UC1705 などと互換性があるみたいで、それらで使われているものを探すと g8glib が使えるかも知れないということがわかりました。

また、身近なところでは、秋月電子の
「超小型グラフィックLCD AQM1248A」
https://akizukidenshi.com/catalog/g/gP-07005/
が同じ ST7565 を使用しています。AQM1248A 用のスケッチを使うこともできるでしょう。

今回は、
「aqm1248a esp8266 esp32」
https://hatakekara.com/aqm1248a/
ページの AQM1248A 用のスケッチを使い、縦ドット数を48から64に変更などしてみました。

動きました。
image.png

バックライトの取扱

電池で動かしていると、バックライトの輝度がふらつくので調べてみました。

image.png

データシートによると、3つのLEDがついてますね。

image.png

割と電流が流れます。マイコンのIOに直結するのは難しそうです。
また電圧が MAX 3.1V なので3.3V系の電源に直結するのも考えものです。
3.3V に繋ぐには、電流制限が必要ですがLED並列なので工夫が必要ですね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?