2013年2月27日水曜日

NanoBoardAGをScratchから使えるようにする

前回までに、NanoBoardを2モータ対応にすることについては解決しましたが、その後、私費で購入したNanoBoardAGが動かなくて困っておりました。作者の@tomonnn1さんのアドバイスをもらいながら、なんとか無事に動くようになったので、その顛末をまとめてみます。

まず、私が持っていたのはNanoBoardAGの初期のもので、 現行のVer.1.1の作り方ではなく、なのぼ〜どAGの作り方の方を見ないといけなかったのでした。最大のつまずきは、作り方のページの真ん中よりやや手前に書いてある、USBコネクタのパッチをしていなかったことでした。それまでは、USBシリアル変換ICがうまく動いていないのかもしれないとか、いろいろと考えてしまっていたのですが、実はかなり単純な話だったということだったのです。とりあえず、これで無事にパソコンと繋がるところまでは行きました。

次に問題になったのは、Scratchとの接続でした。いろいろといじり倒しているうちに、PicoBoard互換機としての機能を失ってしまったような感じでした。そこで、AVRISP mkIIを使って修復することにしました。

まず、Arduino-IDEの設定をしなければなりません。ちっちゃいものくらぶの記事を参考にしながら、ページの中央あたりにある「optiboot_atmega8-8m」を頂いてきて解凍しました。次に、Arduino-IDEの中身を開いて、(Macの場合は)「Contents」→「Resources」→「Java」→「hardware」→「arduino」→「bootloaders」とたどっていって、「optiboot」の中に先ほど解凍した「optiboot_atmega8-8m.hex」を入れます。最後に、いつものboards.txtに以下のものを追加します。

########################################
atmega8o8.name=[Optiboot] ATmega8 8MHz

atmega8o8.upload.protocol=stk500
atmega8o8.upload.maximum_size=7680
atmega8o8.upload.speed=115200

atmega8o8.bootloader.low_fuses=0x94
atmega8o8.bootloader.high_fuses=0xDC
atmega8o8.bootloader.path=optiboot
atmega8o8.bootloader.file=optiboot_atmega8-8m.hex
atmega8o8.bootloader.unlock_bits=0x3F
atmega8o8.bootloader.lock_bits=0x0F

atmega8o8.build.mcu=atmega8
atmega8o8.build.f_cpu=8000000L
atmega8o8.build.core=arduino
atmega8o8.build.variant=standard

########################################

これで、Arduino-IDEの設定は終了です。

この状態で、Arduino-IDEを起動してAVRISP mkIIでブートローダを流し込みました。これは、エラーもなく無事に完了。その上で、ちっちゃいものくらぶで配布されている「NanoBoardAGWithMotorTrio」をダウンロードして解凍し、「NanoBoardAGWithMotorTrio.pde」をArduino-IDEで開いてNanoBoardAGにアップロードします。すると、無事にPicoBoard互換機としての機能を取り戻すことができて、Scratchからも使えるようになりました。これで、学校で子どもたちにも使わせることが出来そうだという見通しがたちました。あとは、SPPの結果待ちという状況です。
#待ち遠しいけど、学期末なのでそれどころではなかったり…。orz

0 件のコメント: