2017年03月01日 | 公開。 |
Arduino用ブートローダ/スケッチライタ使う場合のスケッチの書き込み方法について説明します。
商品名 | Arduino用ブートローダ/スケッチライタキット | |
税抜き小売価格 | 3000円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタ(完成品) | |
税抜き小売価格 | 3600円 | |
販売店 | スイッチサイエンス マルツ | |
サポートページ | Arduino用ブートローダ/スケッチライタ(完成品)サポートページ |
スケッチの書き込みにはATmega88/88V/168P/328Pサポートファイルが必要です。あらかじめArduino IDEにインストールしておいてください。インストール方法はATmega88/88V/168P/328PにArduinoのブートローダを書き込むの記事に説明があります。
次の手順に従って、スケッチを書き込んでください。
注:USBシリアル変換器から電源が供給されている状態でジャンパピンの設定を変えると、電源がショートする事があり、故障の原因になります。過電流保護用のポリスイッチを付けているので、簡単には故障しない設計にはなっていますが、保護回路を過信する事は禁物です。
CN4(ENABLE BUZZER)にジャンパピンを付けると、ブートローダの書き込み時に、書き込みの様子を音でモニターできます。音が出るとうるさい場合は、CN4にはジャンパピンを付けないでください。
写真49の様に、Arduino用ブートローダ/スケッチライタとターゲット基板の双方のICSP端子を、ICSPケーブルで接続します。
Arduino用ブートローダ/スケッチライタのCN8がICSP端子です。ICSPケーブルの接続の際には、Arduino用ブートローダ/スケッチライタのICSP端子の1番ピン(白い丸が書いてあるピン)が、ターゲット基板のICSP端子の1番ピンにつながる様に、ケーブルを接続してください。
USBシリアル変換器は5V出力の物と3.3V出力の物、および、出力電圧が5Vと3.3Vで切り替えられる物があります。USBシリアル変換器の出力電圧は、ターゲット基板に合わせて適切に選択してください。USBシリアル変換器からターゲット基板へ、ICSPケーブルを経由して電源が供給されますので、5Vの電圧に耐えられない部品が載っているターゲット基板に5V出力のUSBシリアル変換器を用いると、故障の原因になります。ご注意ください。
電源の入ったパソコンにUSBケーブルを接続すると、LED1(POWER)が点灯します。また、LED6(HEARTBEAT)が周期的に明るくなったり暗くなったりします。このようにLED6が周期的に明暗を繰り返すのはArduinoISPのファームウェアが正常に動作している印です。
Arduino IDEを起動し、ツール→シリアルポートメニュー(Arduino IDEのバージョンによってはツール→ポートメニュー)でポート番号を指定します。
注:この例ではCOM3を選んでいますが、実際には自分の環境に合わせてポート番号を指定してください。
Arduino IDE 1.0.Xの場合は、ツール→マイコンボードメニューで、マイコンの種類とクロックの種類のペアを選択します。
注:この例では"ATmega328P(8MHz/INT OSC)"を選択していますが、実際には自分のターゲット基板で使うマイコンやクロックを選択してください。なお、マイコンの種類の表記については表3を、クロックの表記については表4を参考にしてください。
Arduino IDE 1.6.X、1.7.X、または1.8.Xの場合は、まず、ツール→ボードメニューで使用するマイコンを選び(図70参照)、次にツール→Clockメニューでクロックを選んでください(図71参照)。
注:この例では"ATmega328P"を選択していますが、実際には自分の使うマイコンを、表3を参考に選択してください。
注:この例では"8MHz/X'tal"を選択していますが、実際には自分の使うクロックを、表4を参考に選択してください。
ツール→ブートローダを書きこむメニューを選び、ヒューズビット(マイコンの動作モードを決める情報)を書き込みます。
注:この際、ヒューズビットと一緒にブートローダも書き込まれますが、後でスケッチを書き込むときに、ブートローダはスケッチで上書きされます。
ヒューズビットの書き込み中は、ProgrammingのLED(LED4)が点灯します。
しばらくすると、ヒューズビットが書き込めるはずです。
ヒューズビットの書き込みが終わったら、ProgrammingのLEDは消えます。
もし、ヒューズビットの書き込みに失敗すると、ErrorのLED(LED3)が点灯して書き込みが中断します。その場合は、正しい手順で書き込んでいるか再確認の上、もう一度ヒューズビットを書き込んでください。
注:エラーの発生の状況によっては、ErrorのLEDが点灯しない事もあります。必ず画面のメッセージを確認してください。
書き込みたいスケッチを開きます。
参考:電子サイコロのスケッチを書き込む場合は、リスト1(水晶振動子を使う場合)またはリスト2(内蔵CR発振器を使う場合)を開いてください。
ファイル→書込装置を使って書き込むメニュー(Arduino IDEのバージョンによってはスケッチ→書込装置を使って書き込むメニュー)を選ぶと、スケッチを書き込めます。
スケッチの書き込み中は、ヒューズビットの書き込みの際と同様に、ProgrammingのLEDが点灯します。
スケッチが書き込み終わると、ProgrammingのLEDは消灯し、次の様なメッセージが表示されます。
以上で、スケッチの書き込みは終了し、書き込んだスケッチがターゲット基板上で動作し始めます。
スケッチを修正し、書き込みなおすには、手順10以降をもう一度実行してください。
注:ターゲット基板には、ヒューズビットは一度書き込めばいいので、2回目以降のスケッチの書き込みでは、ヒューズビットを書き込む必要はありません。
スケッチの開発が終わったら、ターゲット基板からICSPケーブルを抜き、正規の電源回路を電源端子に付けて使ってください。
水晶振動子やセラミック発振子を使わずに、マイコン内蔵のCR発振器を使っている場合は、ICSPケーブルを使ってスケッチを書き込む際に、クロックの設定を必ず8MHz/INT OSCにしてください。クロックの設定を間違えたままスケッチを書き込むと、それ以降、スケッチが書き込めなくなりますので、ご注意ください。
万一、クロックの設定を間違えたままスケッチを書き込んだ場合は、マイコンを基板から取り出し、5ページで説明したArduino Uno用ブートローダライタシールドまたはArduino用ブートローダ/スケッチライタのZIFソケットにマイコンを装着する方法で、スケッチを書き直す必要があります。
この章で説明したスケッチの書き込み方法では、ターゲット基板の電源を、ICSPケーブルで供給し、本来のターゲット基板の電源は接続しない状態でスケッチを書き込みます。しかしながら、ターゲット基板の消費電流が多く、USBシリアル変換器の電流供給能力を超える場合は、この方法ではうまくスケッチを書き込めません。
そのような場合は、SUPPLY TARGETのコネクタ(Arduino Uno用ブートローダライタシールドの場合はCN2、Arduino用ブートローダ/スケッチライタの場合はCN9)にジャンパピンを付けず(こうするとICSP端子への電源供給が止まります)、その代わりに、ターゲット基板に正規の電源回路を接続してスケッチを書き込んでください。なお、この際に、USBシリアル変換器の出力電圧と、ターゲット基板に接続した電源の電圧を合わせる事が重要です。これらが異なると、故障の原因になります。
次のページでは、UART経由でスケッチを書き込むタイプのArduino互換機の作り方を説明します。
商品名 | Arduino Uno用ブートローダスケッチライタシールドキット | |
税抜き小売価格 | 1440円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino Uno用ブートローダライタシールドキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタキット | |
税抜き小売価格 | 3000円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタ(完成品) | |
税抜き小売価格 | 3600円 | |
販売店 | スイッチサイエンス マルツ | |
サポートページ | Arduino用ブートローダ/スケッチライタ(完成品)サポートページ |