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のモジュール化など、やらなければならないことがたくさんあるのですが、子どもたちが嬉々として活動する姿を思い描きながら地味な作業に取り組みたいと思います。

0 件のコメント: