2014年12月14日 | 準備作業(USBシリアル変換器のドライバのインストール)の項目を追加 |
2015年06月24日 | USBシリアル変換器の出力電圧に関する注意書きを追加。 |
前のページまで、ブートローダ/スケッチライタの作り方を説明してきましたが、いよいよここから使い方の説明に入ります。
USBシリアル変換器のドライバをまだパソコンにインストールしていない人は、ブートローダ/スケッチライタを使う前に、USBシリアル変換器のドライバのインストールを済ませておいてください。また、使用するUSBシリアル変換器のCOM番号も確認しておいてください。
ドライバーのインストール方法は、USBシリアル変換器のメーカーや販売業者のサイトに載っていると思いますので、そちらを参照してください。
必要なドライバは、USBシリアル変換器に内蔵されているICのメーカーによって異なります。USBシリアル変換ICのメーカーはいくつかありますが、FTDI社のICが一番使われているようです。FTDI社のICを使ったUSBシリアル変換器をお使いの場合は、当サイトのFTDIのUSBシリアル変換器のドライバのインストール法(1)という記事でも、ドライバの入手法やインストール法など説明をしていますので、そちらを参照してください。
FTDI社のICを用いたUSBシリアル変換器の例を、次の表2に示します。USBシリアル変換器の出力電圧に関する注意点でも説明するとおり、5V出力のUSBシリアル変換器を使用することをお勧めします。
製品名 | メーカー | 販売業者 |
---|---|---|
FT232RL搭載小型USB-シリアルアダプタ 5V (FTDI BASIC 5V) | SparkFun | スイッチサイエンス |
FT232RL搭載小型USB-シリアルアダプタ 3.3V (FTDI BASIC 3.3V) | SparkFun | スイッチサイエンス |
FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) | スイッチサイエンス | スイッチサイエンス |
ATmega168やATmega328PにArduinoのブートローダを書きこむ方法を説明します。
以下の手順に従って、ATmega168/328Pにブートローダを書き込んでください。
USBシリアル変換器から電源が供給されている状態でジャンパピンの設定を変えると、電源がショートする事があり、故障の原因になります。過電流保護用のポリスイッチを付けているので、簡単には故障しない設計にはなっていますが、保護回路を過信する事は禁物です。
CN4(ENABLE BUZZER)にジャンパピンを付けると、ブートローダの書き込み時に、書き込みの様子を音でモニターできます。音が出るとうるさい場合は、CN4にはジャンパピンを付けないでください。
なお、どの様な音が出るかは、次の動画で確認できます。(この動画に出てくるブートローダ/スケッチライタは開発機なので、現行の基板とは細部が異なります)
音量の調整は、R18を交換し、抵抗値を変えることでできます。R18の抵抗値は標準では10kΩですが、抵抗値を低くすると音が大きくなり、抵抗値を高くすると音が小さくなります。抵抗値は1kΩ未満にならない範囲で調節してください。
注:CN5~CN7は、マイコンの種類の選択用のピンヘッダです。ATmega88/88V/168/168P/328Pの場合は、CN5のみに6個のジャンパピンを付けます。ATtiny44/84の場合は、CN6のみに6個のジャンパピンを付けます。ATtiny45/85の場合は、CN7のみに6個のジャンパピンを付けます。
使用するUSBシリアル変換器は、5V出力の物をお勧めします。3.3V出力の物でも使えますが、制限事項があります。上の写真に写っているのは、5V出力と3.3V出力を切り替えられる物です。
電源の入ったパソコンにUSBケーブルを接続すると、LED1(POWER)が点灯します。また、LED6(HEARTBEAT)が周期的に明るくなったり暗くなったりします。このようにLED6が周期的に明暗を繰り返すのはArduinoISPのファームウェアが正常に動作している印です。
注:この操作で、ArduinoISPを使ったブートローダの書き込みが可能になります。なお、SW1(およびSW2、CN4)は電源が入っているときでも操作して構いません。ただし、ブートローダやスケッチの書き込みの最中には操作しないでください。
ここではバージョン1.0.5のArduino IDEを使っています。確認はしていませんが、バージョン1.0.1~1.0.4のArduino IDEでも問題なく使えるはずです。
注:下の図ではCOM30を選んでいますが、皆さんの環境に合わせて、COM番号を選んでください。
上の図ではArduino Unoを選んでいますが、他の種類のArduinoのブートローダも書き込めます。マイコンの種類によって、対応するArduinoの種類が違います。
ATmega168 ・・・ | Arduino Diecimila or Duemilanove w/ ATmega168、Arduino Nano w/ATmega168、Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega168、Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega168など |
ATmega328P・・・ | Arduino Uno、Arduino Duemilanove w/ ATmega328、Ardino Nono w/ATmega328、Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328、Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega328など |
もし、ZIFソケットに装着したマイコンと、ブートローダのArduinoの種類が対応していなければ、ブートローダの書き込み時にエラーがでます。
上の写真を参考にして、ZIFソケット左上のレバーを立てた状態で、ATmega168またはATmega328Pを挿入してください。この際、マイコンの向きを反対にしないように注意してください。
マイコンがZIFソケットに挿入できたら、ZIFソケットのレバーを倒して、マイコンを固定してください。
ブートローダの書き込み中は、LED3(PROGRAMMING)が点灯します。また、LED2(RX)とLED4(TX)は、USBシリアル変換器との情報のやり取りに合わせて点滅します。
手順2でCN4(ENABLE BUZZER)にジャンパピンをつけた場合は、ブートローダの書き込みの最中に音が出ます。
ブートローダが無事に書き込めると、LED2、LED3、LED4は消灯し、Arduino IDEの画面に「ブートローダの書き込みが完了しました。」と表示されます。CN4にジャンパピンをつけている場合は、音も止まります。
ブートローダの書き込みに失敗した場合は、LED5(ERROR)が点灯します。(エラーの出方によっては、点灯しないこともあります) また、Arduino IDEの画面にはエラーメッセージが表示されます。
注:上のエラーメッセージは、ブートローダの書き込み動作をするところで、誤ってスケッチの書き込み動作をしたときに出るものです。
以上で、ブートローダの書き込みが終わりました。続けて同じ型番のマイコンに同じArduinoのブートローダを書き込む場合は、手順9以降を繰り返してください。
このページでは、ATmega168/328PにArduinoのブートローダを書き込む方法を説明しました。次のページでは、ブートローダを書き込んだATmega168/328Pに、さらにスケッチを書き込む方法を説明します。
商品名 | Arduino用ブートローダ/スケッチライタキット | |
税抜き小売価格 | 3000円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタ(完成品) | |
税抜き小売価格 | 3600円 | |
販売店 | スイッチサイエンス マルツ | |
サポートページ | Arduino用ブートローダ/スケッチライタ(完成品)サポートページ |
商品名 | Arduino Uno用ブートローダスケッチライタシールドキット | |
税抜き小売価格 | 1440円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino Uno用ブートローダライタシールドキットサポートページ |