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

2013年2月14日木曜日

Arduino-IDE 1.xでNanoBoardを2モータ対応にする

年が明けて、予算のない中ではありますが、今年度もフィジカル・コンピューティング環境を小学校教育に活かす活動ができることになりました。今回は、総合的な学習の時間だけでなく、理科(電磁石のはたらき←モータ)の実験環境としても使えるように、準備を進めているところです。その中で、昨年度のSPPの研究助成で購入したちっちゃいものくらぶなのぼ〜ど(現在はNanoBoardAGがメイン)をすべて2モータ対応(@abee2さん改造のScratch2つのモータを動かせる)にして、少しでも多くの授業で使えるようにしようと考えました。

そもそも、なのぼ〜どはArduino-IDE 0023には対応しているのですが、それ以降には対応しておらず、1年前の前回も苦労したのでした。
#すっかり忘れていました。orz

簡単に言うと、Arduino-IDE 0023以降の1.x(現行バージョン)でスケッチをアップロードしようとすると、

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.
というようなエラーメッセージが出て、アップロードに失敗するようです。(アップロードが完了したらしきメッセージは出るのですが…)となると、全てのなのぼ〜どにICSPのピンをハンダ付けして、AVRISP mkIIで「NanoBoardAGWithMotors.pde」を書き込むしかありません。かなり手間はかかりましたが、無事に全てのなのぼ〜どにICSPピンをハンダ付けし、「2モータ対応化」作業を開始しました。以下はその手順をまとめておきます。
  1. AVRISP mkIIから出ているピンコネクタの1(MISO)をICSPの"_"が書かれているところに合わせて差し込む。
  2. 別電源が必要なので、なのぼ〜どのUSBポートから電源を供給する。
  3. Arduino-IDEを起動し、「NanoBoardAGWithMotors.pde」を開いた状態で「ツール」メニューから「マイコンボード」→「[Optiboot] Arduino NG or older w/ ATmega8」を選択する。
  4. 同じく「ツール」メニューから「書込装置」→「AVRISP mkII」を選択する。
  5. 「ファイル」メニューから「書込装置を使って書き込む」を選択する。
  6. 書込作業が始まって、AVRISP mkIIのLEDの点滅が止まった時点で書込完了。
Arduino-IDE内のboards.txtに「[Optiboot] Arduino NG or older w/ ATmega8」の設定を書き込んでいない場合は、作者のWebページをご参照ください。「なのぼ〜どにモーターを接続する方法」も参考になると思います。

Arduino−IDE 1.x以降でなのぼ〜ど1.1以前をお使いの場合は、先ほどのboards.txtに書き込んだものの最後に「atmega8o.build.variant=standard」と書いておくと良いようです。また、なのぼ〜ど1.2以降(AG含む)でoptiboot_atmega8-8mを使う場合は、前述の「なのぼ〜どにモーターを接続する方法」を参照して、「[Optiboot] ATmega8 8MHz」の設定を書き込んだ上で、その最後に「atmega8o8.build.variant=standard」と書けば良いようです。

これで、なのぼ〜どから無事に2つのモータを回すことができるようになりました。モータ自体の加工やモータドライバICのモジュール化など、やらなければならないことがたくさんあるのですが、子どもたちが嬉々として活動する姿を思い描きながら地味な作業に取り組みたいと思います。

2013年2月9日土曜日

音楽(金管バンド)クラブの発表会終了

慌ただしい生活をしていて、気がついたら1月が終わって2月になっていました。orz
とりあえず、猛威を振るっているインフルエンザにも感染せずに、ここまでは無事に生活しています。勤務校の子どもたちも、一時は学級閉鎖ギリギリまで休み&早退者が出ましたが、なんとか乗り切った感じです。

さて、毎年1月に行われている市内の管楽演奏発表会(1月24日)ですが、今年も無事に終了しました。冬休み最終日からのラストスパートで、何とか合奏の体裁を整えた感じでしたが、子どもたちは毎日続く練習にもめげず本当によく頑張ってくれたと思います。そもそも正規メンバーは16人(助っ人を入れて19人)しかおらず、4,5年生中心の弱小クラブなのでどうなることかとハラハラしていました。クラブ活動の一環なのでまとまった練習時間もなかなか取れず、体格が小さいために良い音が出ずに悩んだこともありました。基礎的な力や知識をしっかりと身に付けさせたいと思う反面で、限られた練習時間で曲を完成させて行かなければならないというジレンマ。基本の反復練習だけでは子どもたちのモチベーションも高まらないから、気持ちを持続させるだけでも大変神経を使います。担任をしながら、一人ひとりの細かな音のチェックをするのはかなりの負担なので、一緒にやってくれている音楽専科の先生にもたくさんお世話になりました。

そして迎えた本番は、ちょっと走り気味でしたがまずまずの出来で演奏を終えました。曲目は、ちょっと欲張って「ヘビーローテーション」と「魔女の宅急便より」の2曲にしました。いずれも、リピート無しで短くしましたが、1年で2曲やれたのは今の学校へ来て初めてです。(前の学校の子たちからするとビックリでしょうね)昨年度、再スタートした音楽クラブの活動が、少しずつ向上しているような気がして、とても嬉しく思いました。

その後、別の校務で忙しくしていたのですが、校内での発表(2月7日)を行いました。いつもお世話になっている本校後援会の皆さん(市民吹奏楽団立ち上げメンバー含む)をお迎えし、たくさんの子どもたちやPTAの役員の皆さんにも鑑賞していただくことが出来ました。今回は、とても落ち着いてしっかりとした音を出すことが出来ました。聴きに来てくれた皆さんにもたくさん褒められて、羨望の眼差しで見られてちょっと誇らしげな子どもたちにも微笑ましさを感じました。

細かいことを言えばもちろん課題は山盛りですが、一歩一歩、一年一年着実な歩みを続けて、新たな伝統を築いていけたらと思っています。そして子どもたちには、この活動を通して人生の糧となるような経験や思い出を残して欲しいと願っています。