ESP32でLCD 1602 モジュールをI2Cなしで接続することになった

ESP32であれこれしていて、せっかく買ったArudinoキットの中の LCD 1602を試しに使ってみることにした。

ただ、キットの中の1602は、I2Cがついていない。ググってみると、ほとんどがI2C接続、1,2個そのままの接続の例があるけど、ケーブルが多くて面倒そう。


と、いうことで、I2CをAmazonでぽちった。150円位のやつ。
届いたのを見ると、I2Cにもピンヘッダがついてる。どうしようかと悩んだ結果、I2C側のピンヘッダを取り外すことにした。

じゃーん
ピンヘッダを外すのは相当苦労したけど、見た目はとりあえずOK。
これで楽々LCD接続ができる(^^)/

ところが。。。。
豆腐!豆腐!豆腐!豆腐!

何をやっても豆腐!
輝度調整しても変わらない。
Arudino IDE で、ありとあらゆる LiquidCrystal_I2C.h を試したけどダメ、LiquidCrystal.h でもだめ。
アドレスチェックでは、0x27が出ていて設定も確認したけど豆腐!

これは、I2Cのピンヘッダ外しとかの時に壊してしまったに違いない・・・
仕方がないので、I2Cを1602から取り外すことに。

しかし、ピンヘッダの取り外しって、ものすごく大変。どれだけハンダを取っても、どこか残っているようでなかなか外れない。 もう面倒すぎ。

せっかく付けたI2Cをやっとのことで取り外したので、1602を直接ESP32に接続する方法をググった。

<今回の参考サイト> ありがとうございます。
searat.netさん [ESP32]IoTマイコンを動かしてみる7 -LCD制御するよ編‐

この記事の通り接続し用としてみたけど、ちょっと接続図が良くわからない。なので、元々接続ってどうなってるのか確認するためにArduinoのキットの資料を確認して、接続先を見直した。
そして、ArduinoのLiquidCrystalのサンプルスケッチを、これも記事通りに修正して書き込み実施。

接続は下記の通り。手持ちのLCD 1602が5V用なので、図で電池の部分は、実際はUSBから直接電源を取っている。


LCD1602 ESP32
VSS GND
VDD 5V
VO 半固定抵抗10KΩ
RS IO32
RW GND
E IO25
DB0
DB1
DB2
DB3
DB4 IO26
DB5 IO27
DB6 IO14
DB7 IO13
A 3V3
K GND

後でよく見たら、sarat.netさんの記事にもRWはGNDでも良いって書いてあった。素人なので知らないとスルーするんだよなぁ(;'∀')


とりあえず、動いてよかった。I2CとLCD1602の両方壊していたら泣いていたかも~~

しかし、買ったI2Cもピンヘッダがついていたのだから、最初にブレッドボード上で接続確認しておけばよかった・・・ピンヘッダの取り外しがこんなに大変だとは・・・、いい勉強になったよ。


0 件のコメント:

コメントを投稿