ちょっとTea Time!? キャラクターLCDをI2Cで動かしてみる。 2019.11.23

朝刊をとりにいったらポストに中華からの送付物が入っていた。
なんだろう?と封をあけたらこれ(下の写真)が入っていた。どうやら、注文していたのを忘れていたようです。
なんせ3週間以上前に頼んだものです。それにしても、届くの遅いな〜

で、これは何かといえばLCDをI2Cで制御するためのアダプタみたいなものです。
通常、LCDをマイコンで直接制御しようとする最低でも6本のI/Oが必要になりますが、
I2C通信なら2本ですみます。さらに、他のデバイスにI2Cをつかっているなら、それにぶら下げることも
可能です。そうなれば、増設必要なI/Oはなくても済みます。

というわけで、どのようなものか調べてみることにしました。


LCDをI2C通信で制御するためのアダプターです。

それにしても安い!

ちなみにお値段は136円。それも送料込みです。いつも思いますが、どうやったらこんな値段を実現できるのだろう?
郵便だけでも国内で84円もかかるのに・・・・。


これが届きましたが、とても安いけど遅い!もう23日だぞ〜

使われている素子はPCF8574というもののようです。
DIGIKEYで調べると、1000個単位で買っても64円します。それにVRと基板とチップ部品、ジャンパーピン、基板・・・・そして実装・・・・・
んん〜全部で100円もあればできるのかなあ〜。だとすると40円で中国から日本に輸送できるの?国内の輸送料金は?・・・・
なぞが多すぎます。


使われている素子はPCF8574のようです。


1000個単位で買っても64円するんだ。実際には消費税も入るから70円!

PCF8574を調べよう。

 それにしても、こららのものには説明書の類は一切ありません。せめてメーカサイドの使用方法を書いたURLでも
掲載したらいいのにと思いますが、それすらありません。要はユーザが勝手に調べて使え!ということです。
で、さっそく使用されている素子から使い方を探ることに。
使われいる素子をみるとPCF8574は、いわゆるI2C動く8ビットのI/Oエクスパンダーのようです。

コマンド(データの方向を決める)とかもなにも無く、単にI2Cでアドレスとデータを送れば、その情報がI/Oに現れる。
読み込めば、端子の情報が読み込める、といった代物
のようです。なので、入力として使う場合はオープンコレクター
タイプのものしか接続できないということかな?
 まあ、今回使うLCDに対しては、入力モードでは使用しないので気にしなくていいでしょう。

回路図は?

さて、基板の回路がわからないとどのように使うのかもわかりませんが、このあたりはネットを調べると
先人がすでに回路図を起こしてくれていたらりします。
 探したら、下記がありました。ありがとうございます。


引用:https://edycube.blog.fc2.com/blog-entry-691.html

あとは調べる必要があるのはI2Cのアドレスですが、PCF8574はアドレスが0x40台であり、A0〜A2はすべてオープンに
なっているので、I2Cアドレスは0x4Eのようです。


アドレスはここのジャンバーで設定するようです。半田ジャンパ^では
届かないので、おそらく0Ωの抵抗を実装するようになっているのでしょう。


A0〜A2はすべてオープン(H)なので、アドレスは0x4Eですね。

LCDにとりつけましょう!

LCDも同じく中華製のものです。すこし前に買ったものです。こちらも安いのはいいのですが、
梱包は簡易なのかなんなのか、届いたものは基板の角がかけていたりします。
おそらく踏みつけられたりしたのかな〜?


中華製のLCDです。輸送に問題があって、ところどころ傷があります。

 
コーナが欠けています。              基板も割れていたり・・・・

動かしてみましょう!

とりあえず、LCDにはソケットをつけてとりつけました。ブレッドボードに挿すので、基板が縦になってしまいました。
覗くのに首がいたい・・・・。

既存のLCDのライブラリをI2C制御用に書き換えて、どのくらいの表示速度になるか調べてみました。
PICには8MHzのPIC16F87を使いましたが、だいたい全画面をキャラクターで埋めるのに0.1秒弱の結果です。
全部で20×4=80文字なので、およそ1ms/文字という感じですね。
 I2Cの通信速度からすると、遅い気もしますが、I2Cの通信自体もソフト制御であり、LCDもコマンドの処理と
データの処理のためにそれぞれ40usのウエイトを入れる必要があります。LCDの書き込みパルスもI2Cでデータを
送る必要があるので、マイコンでの直制御にくらべると、大量のデータをおくりこまなくてはなりません。

 まあ、速度的にはこんなものでしょうか。早いという気はしませんが、遅くもないといった感じです。
いづれにしてもI2Cで、手軽にLCDをつかうにはいいデバイスです。

表示速度は全画面を書くのに0.1秒弱程度した。一文字表示には1msくらいでしょう。

しかし、なんでこれが136円で送れるのかな〜 そちらの方が興味深かったりします。

話は変わって・・・・

外国の方から、最近こんなものが売られているとメールをいただきました。

https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-2295947858.41.6d275ca8yjI8JV&id=541812331030

ちなみに、下図は4年前にリリースしたR-2RのDACです。



まあ、R-2RのDACなんかは回路が簡単なので、だれが作っても同じような回路や基板パターンになるのでしょう。
またシルクやネーミングも同じようなものになるのでしょうね(笑。

(おしまい)