ISPシールドの失敗と成功

ISPシールドとArduino UNO R3と書き込み用のスケッチArduinoISPを使いIDE1.0.1の[ツール]->[ブートローダを書き込む]でATmega328P PUにブートローダを書き込むと、IDEが「書込みを完了しました」と表示するものの、Arduino UNO R3のATmega328P PUと差し替えて動かすとスケッチの書込みに失敗する。プライドをかなぐり捨てて何もかもArduinoプロジェクトのいうとおりにしたのに。調べてみると同じ憂き目をみた人がたくさんいて対策も示されている。これがオリジナルのマイコンボードではなくてみんなと同じArduinoを使う最大のメリットである。

対策はいろいろあるけれどいちばん簡単なのがブートローダ書込み専用スケッチoptifixを使う方法。オリジナルのoptifixは古い記述スタイルになっていて少し修正が必要。こちらにぼくが成功したoptifixを置いておく。これをArduino UNO R3に書き込んでIDE1.0.1の[ツール]->[シリアルモニタ]を選び、表示の指示にしたがう(たぶん何もしなくていい)。ATmega328P PUにブートローダを書き込み、Arduino UNO R3に差し替えて、今度はスケッチの書込みにも成功した。

IDEのバージョン、Arduino UNOのリビジョン、ATmega328のPが付くか付かないかなど微妙な違いでうまくいかないことがあるらしい。また、ATmega88Pへどう書き込むか、ブートローダでないものはどうするのかなど残された課題も多い。しかし少なくともISPシールドが正しく動作することは確認できた。ハードウェアが完成していれば、ソフトウェアの問題はいずれ解消できると思う。

※2013/1/31追記:IDE1.0.3で改善されました。[ブートローダを書き込む]で書き込めます

広告
カテゴリー: Arduino パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中