Direct8x8ライブラリのサンプルを普通のAVRに焼いて動かしてみた

arms22さん作のArduinoから8x8ドットマトリクスLEDを制御するDirect8x8ライブラリ*1を試してみました。
手持ちのarduinoに空きがなかった*2のと、AVR書き込み機を最近買ったので試してみたくて付属しているサンプルスケッチをArduinoIDEでコンパイルのみ行い、生成されたバイナリをAVR書き込み機*3を使って安価なAVRチップ、ATmega8に焼いて動かしてみました。配線ミスのせいかいちばん右の列が全く発光していませんが気にしない気にしない。光が波打つ様子が楽しいです。

動画↓

ATmaga8用にスケッチをコンパイルするためには ArduinoIDEのメニューから
Tools > Board > ArduinoNG or older w/ ATmega8 を選択し、
"Upload to I/O Board"を実行します。*4
このときシリアルポートやUSBポートにArduinoを接続しておく必要はありません。
アップロードを実行しようとするとエラーが出ますが気にせずに Ctrl+k を押すとスケッチがおかれているフォルダがwindowsエクスプローラで表示されます。*5
表示されたフォルダの中に"applet"というフォルダがあり、その中にコンパイルされたAVR用のバイナリ(*.hex)があります。これをAVR書き込み機でAVRに書き込むとちゃんと動作します。*6
ATmega8は大きなサイズのプログラムを書き込むことはできません*7が、秋月電子通商で1個200円と安価*8なのでAVR書き込み機があればArduinoでプロトタイプを作り、普通のAVRで量産、なんてことも意外と簡単にできそうです。それに最小限の部品でよくなるのでコンパクトにまとめることもできますね!

*1:http://arms22.blog91.fc2.com/blog-entry-229.html

*2:一度作ったのをばらすのってなんかもったいない気がしてしまう

*3:AVRISPMkII https://akizukidenshi.com/catalog/g/gM-02582/

*4:ちなみにArduino-0016です。さっさと最新にしろよと。

*5:自分の環境はWindowsVistaです。ほかの環境でもそれなりに表示されると思います。

*6:このあたりの知識は主にPIC AVR 工作室別館 ”arduinoの館 - arduinoの構成”から得ました。あと2ちゃんねるの書き込みも参考になりました。

*7:ATmega168やATmega328を使えば問題なしですね!

*8:https://akizukidenshi.com/catalog/g/gI-02868/