ATtiny85でもI2Cの液晶が使えるようなのでやってみた。結論から言うと、Arduino IDE用のライブラリがあるので、それを使えば簡単にできた。
ATTiny85 I2C LCD Libraryをインストール
ダウンロード
まずは、ライブラリをダウンロード。GitHubにある。
Codeを開き、Download ZIPをクリックしてダウンロード。ダウンロードされたATtiny85-LCD-library-master.zipを展開する。
ある意味、これが最大のワナ。展開せずにZIPのままじゃインストールできず、しばらく悩んだ。
Arduino IDEにインストール
Arduino IDEを立ち上げる。
「スケッチ → ライブラリをインクルード → .ZIP形式のライブラリをインストール…」とたどる。
ここで先ほどダウンロードして展開したライブラリの中の「LiquidCrystal_ATtiny」フォルダを選択して開く。
これでライブラリのインストールは完了。念のため「ライブラリをインクルード」のメニュー内に「LiquidCrystal_ATtiny」が追加されていることを確認しておく。
エラーの場合
ちなみに、ダウンロードしたライブラリをZIP形式のままインストールしようとすると、こういうエラーになる。
これはおそらくそのZIPファイルの中で実際にライブラリが入っているのが直下ではなくて、フォルダが一段入っているからだろう。というわけで、上の手順のように事前にZIPを展開しおいて実際にライブラリが入っているフォルダを指定する。
動作確認
配線
ATtiny85のI2Cピンはデータシートにある。下は、データシートから引用したもの。
緑で囲ったところ、7ピンがSCL、5ピンがSDA。ここにI2C LCDを接続する。
サンプルコード
先程のライブラリをインストールすると、一緒にサンプルスケッチもインストールされる。
「ファイル → スケッチ例 → LiquidCrystal_ATtiny」の中にi2c_lcd_attyというスケッチがあるので、これを開く。
このコードの詳細はコメント内のリンク先にある。
チップやクロック、書込み装置を適切に選ぶ。この辺りはこちらのページを参考に。
あとは「スケッチ → 書込み装置を使って書き込む」でOK。
実際の動作の様子。
このスケッチは先の詳細を読むと名札らしい。本来はマイクで音を拾ってその大きさ(ATtiny85のADCに突っ込んでいる)でしたのバーグラフが触れるみたい。手元の装置ではマイクはつないでいけど、液晶の表示テストはできる。
書込みに使用したボードはこれ。
コメント
頒布して頂いたAWAB01に、Arduino Nano(中華互換機)
を “Arduino as ISP” として組合せました。
ATtiny85 の I2C LCD 表示時は、互換機を切り離すか、
互換機の D13/SCK ラインに小細工が必要でした。
情報、ありがとうございます。Arduino ISPって書き込みやっていないときにD13に何か信号を出しているんでしょうね。ハートビートとしての内蔵LEDの点滅とか。詳細未確認ですが。
頒布のページに注意事項として記載しておきます。
ArduinoUNO(純正品)の場合、D13 LED は、バッファ経由なので
大丈夫でした。
重ね重ね、ありがとうございます。