2014年8月26日火曜日

秋月のI2CのLCDを使ってみた

秋月で仕入れたI2Cの液晶の実験をしてみた
http://akizukidenshi.com/catalog/g/gK-06795/

LCDを基板にハンダ付けしないといけないんだが
はじめてのハーフピッチだ

案の定まともにハンダ付けできなかった
ブリッジしまくった(^q^;

なんとか修復しようとこねくり回してたら
元からついてたチップコンデンサのハンダを溶かして外してしまったらしい



回路図を見てみるとデカップリング用のコンデンサなので
なくてももしかしたら動くかもしれない

液晶端子のハンダ付けもあやしいがこれ以上いじくりまわしたくない

もう半分諦めながら(別にI2CのLCDを発注しておいた)とりあえずできるとこまでやろうと思った

でAVRの参考書でI2Cのところを調べてみると
I2Cの仕様はめちゃくちゃ複雑

[アフィ] 参考書とはこれです

SPIと大して変わらないだろうと思ってたのが間違いだった

こんなもん一個一個調べてたら、らちがあかないと思ったので
Arduinoのライブラリのお力を借りることにした

まず<Wire>というライブラリがある。
http://arduino.cc/en/Reference/Wire

I2Cのプロトコルをラッピングしてあるライブラリだ。

Webで「AQM0802」で探したらいろいろとソースを公開くださっているサイトが見つかった。
一番基本ぽかったのはここ

ArduinoでI2C液晶
http://blog.goo.ne.jp/sim00/e/ab138be751d447bcdb0eecaaca232214

秋月の仕様書と見比べて多分多少いじれば大丈夫そうなので
そのままコピペでAruduinoに書き込んだ



GJ(^q^/

秋月の仕様書だと「スレーブアドレスは、0x7Cです。」となってたので修正が必要と思ってたが
<Wire>ライブラリだと最後のbitの0は計算に入れてないみたいなので

0x3e

でOKっぽい

秋月のLCDモジュールも仕様では3.3Vだが、レベル変換がめんどくさいし(一応絶対定格は5.5V)
壊れてもいいので同じようにArduinoの5Vでつっこんだ

シールドに作りこむときはもうちょっと考えないといけないが
とりあえず動いたので良しとする

2 件のコメント:

  1. 信号のレベル変換は一般に、ツェナーダイオードでやりまする。
    もしくは発光ダイオード(青や白はVFが3.2vくらいなので、赤は1.8なので2連で)

    5VSig----+---->3.3vsig
           |
          △(ツエナー3.1v)
           |
          gnd



    5VSig----+---->3.3vsig
           |
          ▽(青か白のLED)
           |
          gnd

    5VSig----+---->3.3vsig
           |
          ▽(赤のLEDx2)
          ▽
           |
          gnd

    返信削除
  2. なるほど!

    赤のLEDはいっぱいあるので
    まじめに作るときはLEDでやります

    今日はRで考えてました

    返信削除