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でつっこんだ
シールドに作りこむときはもうちょっと考えないといけないが
とりあえず動いたので良しとする
信号のレベル変換は一般に、ツェナーダイオードでやりまする。
返信削除もしくは発光ダイオード(青や白はVFが3.2vくらいなので、赤は1.8なので2連で)
5VSig----+---->3.3vsig
|
△(ツエナー3.1v)
|
gnd
5VSig----+---->3.3vsig
|
▽(青か白のLED)
|
gnd
5VSig----+---->3.3vsig
|
▽(赤のLEDx2)
▽
|
gnd
なるほど!
返信削除赤のLEDはいっぱいあるので
まじめに作るときはLEDでやります
今日はRで考えてました