PR

ArduinoISP – ArduinoをAVRライタとして使う

AVRにプログラムを書き込むにはAVRライタが必要。これまで使ってきたのは、USBaspを使ってきた。USBaspは、このキットにセットにしているもの。

これで特段困っているわけでもないけど、ArduinoをAVRライタにできるそうなのでやってみた。

ArduinoISP

ArduinoをAVRライタにするプログラムがArduinoISP。Arduino IDEに標準で含まれている。

「ファイル → スケッチ例 → ArduinoISP → ArduinoISP」とたどって開く。’

使用するボードに合せて設定。今回はArduino UNO(互換機)を使用。

後は、普通にコンパイル・書込み。これで、ArduinoがAVRライタになった。

動作確認

接続

ArduinoISP化したArduino UNOのピンアサインは次の通り。図は、Arduinoの公式サイトから引用。

Arduino UNO 端子名
10 RESET
11 MOSI
12 MIOS
13 SCK

これらは上の図の赤丸の部分。+5VとGNDは下の赤丸。これらをターゲットのISP端子に接続する。

手前がArduinoISP化したArduino UNO互換機。使用したArduino UNO互換機のカラーLEDが眩しすぎるので付箋紙(を折りたたんで)被せてある。

奥がターゲットのATtiny85。書込み用のボードはこちら。

avrdudeでチェック

では、ちゃんと使えるか確認。ArduinoISPもavrdudeで使える。

オプション「-c arduino」でArduinoISPを指定、「-P COM6」はArduinoを接続しているシリアルポート、「-b 19200」はArduinoとの通信速度(19200bps固定でいいみたい)。ターゲットデバイスは「-p」オプションで(上の例はATtiny85)。ちゃんとターゲットと通信できており、フューズ設定を読み出せた。

なお、avrdudeはこちらで入手できる。

関連記事。

Arduino IDEから使う

このArduinoISPをライタとしてArduino IDEから使用する場合は書込み装置として「Arduino as ISP」を選択する。

これとシリアルポートを適切に選択するだけ。実際にスケッチをコンパイルしてターゲットに書き込むには、「スケッチ → 書込み装置を使って書き込む」を選べばOK。

Lチカを書き込んでみて問題なく動作することを確認した(上の接続例の写真がそれ。静止画なので動かないけど)。

自作
この記事のタイトルとURLをコピーする
スポンサーリンク
スポンサーリンク
スポンサーリンク

コメント