このブログを検索

2013/09/29

ATtinyでのi2cの復習

昨年末にやったことの復習と発展。

 ATtiny85にArduinoベースのコードを書き込んでのPCA9685を使ったLED調光点灯。CDSもつけて、暗くなったら点灯。
デバッグ用にST7032チップのi2cの8×2液晶も接続。昨年末のテスト時に、i2cとデバッグ用のコンソールのSoftwareSerialが両方同時利用出来なかったので。どちらかならば動いた。ATtinyはタイマーが2つしか無いのが原因でしょうか?
 で、ATtinyのUSIを使ったi2cライブラリのTinyWireMだとi2cのメッセージ送信がsend()なので、ST7032のライブラリを改造してsend()に変更。もう、Arduino1.0より前の環境で作ることもないだろうから、逆にTinyWireMの方をwrite()対応に変えたほうが良かったかも。
という訳で下の画像のように、無事にi2c液晶も表示OK。

 実機用にはPCS9685は今の半分のサイズの変換基板に載せたいです。ただ、ピンが片側2列のきゅうきゅうになります。
 とおもったけど、片側14ピン1列の変換基板で行くかも。コモンのアノードは各LEDでまとめて、基板へは太めの線1本で持ってこようと思うので。

 ただ、やや不安点があって、たまに液晶に出しているmillis()が止まっている時がある。タイミングは不定、つかめてない。LCDを使わなければ問題が出なくなるかも不明。別に止まっても困るようなグッズではありませんけどね(笑)。

 夕方電池を色々試してみた。どれもステップアップコンバータで3.3Vに昇圧した状態で。
CR2032、CR123Aでは電流が足りない。逆に単4乾電池1本のほうが明るい。単4を2本並列か単3を1本で運用テストしてみます。

0 件のコメント: