昨日、台湾からLCD1602をI2C化する基盤112円が届いた。
KKHMF 1602 LCD ブラック IIC/ I2C / TWI/SPI シリアル インタフェース ボード モジュール
右側のLCD基盤はかれこれ15年ぐらい前の物かな?秋月のデータシートが懐かしい。
今回は左側のバックライト無を生贄にすることとした。
そもそも、新品丸ごとキットを買っても700円ぐらいなんだが・・・
死蔵させるのは悔しかったし、micro:bitにつないでみたい。
しかし、何も考えずにI2Cキットを買ってみたのだが、LCD奇岩が古すぎてピンソケット形式が全く違っている。
秋月では200円程度で立派なフラットケーブル売っているが送料が500円もかかる。
結局、昨晩1時間半かかって、14線をはんだ付け。ローカル居住は悲しいものがある。
まあ、ブートキャンプ30週キャンペーンの一環と割り切って立ち上がった。
大昔から持っている電電公社からもらってきた単線は固い。
しかもピンヘッダは熱に弱い。
しょうがないので、最後はホットボンドで固定するしかなかった。
古いLCDなので、Pin1とPin2が入れ替わっているので注意が必要。誤ると電源を逆接続することになる。
奇妙なニョロケーブルが出来上がった・・・
明けて本日、意を決してArduinoに4本のピンを接続してみる。
GNDはGND・VCC は5Vピンへ
SDAはA4、SCLはA5ピンへ
画面の片側が真っ黒な豆腐が並ぶ。なんだか動いたっぽい。
参考サイトはこちら様です。
拡張基盤の可変抵抗を回すも文字は現れない・・・
サンプルスケッチのI2Cアドレスが違うらしい。
Amazonの販売者仕様書ではデフォルトは0x20-0x27とある。
書き込みを読むと搭載チップによってアドレスが違うらしい。
I2Cアドレススキャナーを動かすがアドレスは発見できなかった。
載っているチップ表面を必至で読んでみると「PCF85741」結局、0x27と判明
毎回アドレスを変えながらテスト書き込みするのだが、以前の画面表記が残ったまま(?)になったりちょっと戸惑うこともあった。
ドタバタしつつなので、定かではないが。
まずは、満足である。
次はマイクロビットにつないでみよう。
そろそろ夕方のVBA教室の準備しよ。
--------------------
#include ”LiquidCrystal_I2C.h”
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
}
void loop(){
}