ArduinoISPはArduinoを使用したAVRライターで、ArduinoIDEからArduinoISP用のスケッチをATMega168に書き込むと、ArduinoがAVRライターに変身します。
これまではBitBang方式のAVRライターを使用していましたが、avrdude-GUIでの書込手順が複雑なので、ArduinoIDEからメニュー操作だけで簡単に書き込めるArduinoISPライターを作ることにしました。
Arduinoからケーブル接続して、ブレッドボードに挿したAVRに書き込むのが一般的ですが、ArduinoISP専用機を製作することにしました。
回路図です。
28ピンのATMega168/328などと、20ピンのATtiny2313の書き込みができるようにしました。
![](https://blogimg.goo.ne.jp/user_image/2f/ca/906915666b3caedb4fc1dfb9e09e8644.jpg)
ArduinoISPライター専用機基板と、ATtiny2313用のアダプタです。
![](https://blogimg.goo.ne.jp/user_image/28/d4/24413c2e084130cc501b1f242c5c4e52.jpg)
ATtiny2313用のアダプタを乗せたところです。
![](https://blogimg.goo.ne.jp/user_image/37/35/92b2993d817652122ee8c30d052c9848.jpg)
斜めから。
![](https://blogimg.goo.ne.jp/user_image/33/88/814e3158ff8b1625bca5ea4eefba46ee.jpg)
ArduinoISPライターを使用すると、ArduinoIDEから簡単にブートローダーを書き込むことができます。
詳細はこちらをご参照ください。
手順は、
1)ツール>書込装置>Arduino as AVRISP を選択
2)ツール>マイコンボード>Arduino xxx(書き込みたいボード) を選択
3)ツール>ブートローダーを書き込む を選択
また、AVRライターなのでブートローダーを使わずにスケッチを書き込むこともできます。
ブートローダーが無いので、ブートローダーの分だけ大きなスケッチを書き込むことができます。
詳細はこちらをご参照ください。
手順は、
1)ツール>書込装置>Arduino as AVRISP を選択
2)ツール>マイコンボード>ATMegaxxx(書き込みたいAVR) を選択
3)ファイル>書き込み装置を使って書き込む
1回目の書込は何故かデバイスのシグネチャーが不一致というエラーが出ますが、もう一度書き込めばOKでした。
ArduinoがサポートしていないAVRの書き込みもできます。
現時点では、ATtiny 13/45/85/44/84/2313がサポートされているようです。
詳細はこちらをご参照ください。
とりあえずATtiny2313用のアダプタを作ったので、書き込むことができるようになりました。
開発方法はArduinoと同じで、setup()とloop()です。
ATtiny2313のI/OはD00からD16の17本あるので、ADコンバータが必要ない場合はコンパクトに仕上げることができます。
手順は上と同じですが、ATtiny2313を選択します。
もちろんavrdude-GUIを使って汎用AVRライタとして書き込むこともできるので、フューズビットなど微妙な設定が必要な場合も対応できますが、ArduinoIDEからメニューを選ぶだけで簡単に書き込めるのが便利ですし、開発環境がArduinoIDEに統一できるのが一番のメリットですね。
これまではBitBang方式のAVRライターを使用していましたが、avrdude-GUIでの書込手順が複雑なので、ArduinoIDEからメニュー操作だけで簡単に書き込めるArduinoISPライターを作ることにしました。
Arduinoからケーブル接続して、ブレッドボードに挿したAVRに書き込むのが一般的ですが、ArduinoISP専用機を製作することにしました。
回路図です。
28ピンのATMega168/328などと、20ピンのATtiny2313の書き込みができるようにしました。
![](https://blogimg.goo.ne.jp/user_image/2f/ca/906915666b3caedb4fc1dfb9e09e8644.jpg)
ArduinoISPライター専用機基板と、ATtiny2313用のアダプタです。
![](https://blogimg.goo.ne.jp/user_image/28/d4/24413c2e084130cc501b1f242c5c4e52.jpg)
ATtiny2313用のアダプタを乗せたところです。
![](https://blogimg.goo.ne.jp/user_image/37/35/92b2993d817652122ee8c30d052c9848.jpg)
斜めから。
![](https://blogimg.goo.ne.jp/user_image/33/88/814e3158ff8b1625bca5ea4eefba46ee.jpg)
ArduinoISPライターを使用すると、ArduinoIDEから簡単にブートローダーを書き込むことができます。
詳細はこちらをご参照ください。
手順は、
1)ツール>書込装置>Arduino as AVRISP を選択
2)ツール>マイコンボード>Arduino xxx(書き込みたいボード) を選択
3)ツール>ブートローダーを書き込む を選択
また、AVRライターなのでブートローダーを使わずにスケッチを書き込むこともできます。
ブートローダーが無いので、ブートローダーの分だけ大きなスケッチを書き込むことができます。
詳細はこちらをご参照ください。
手順は、
1)ツール>書込装置>Arduino as AVRISP を選択
2)ツール>マイコンボード>ATMegaxxx(書き込みたいAVR) を選択
3)ファイル>書き込み装置を使って書き込む
1回目の書込は何故かデバイスのシグネチャーが不一致というエラーが出ますが、もう一度書き込めばOKでした。
ArduinoがサポートしていないAVRの書き込みもできます。
現時点では、ATtiny 13/45/85/44/84/2313がサポートされているようです。
詳細はこちらをご参照ください。
とりあえずATtiny2313用のアダプタを作ったので、書き込むことができるようになりました。
開発方法はArduinoと同じで、setup()とloop()です。
ATtiny2313のI/OはD00からD16の17本あるので、ADコンバータが必要ない場合はコンパクトに仕上げることができます。
手順は上と同じですが、ATtiny2313を選択します。
もちろんavrdude-GUIを使って汎用AVRライタとして書き込むこともできるので、フューズビットなど微妙な設定が必要な場合も対応できますが、ArduinoIDEからメニューを選ぶだけで簡単に書き込めるのが便利ですし、開発環境がArduinoIDEに統一できるのが一番のメリットですね。
※コメント投稿者のブログIDはブログ作成者のみに通知されます