ちょっと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なんかは回路が簡単なので、だれが作っても同じような回路や基板パターンになるのでしょう。
またシルクやネーミングも同じようなものになるのでしょうね(笑。
(おしまい)