Arduinoで作った回路の小型化(Arduino互換機の製作)(8)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (2) (3) (4) (5) (6) (7) (8) (9) (10) 次のページへ
2017年03月01日 公開。

9-5-2.Arduino用ブートローダ/スケッチライタを使う場合のスケッチの書き込み

Arduino用ブートローダ/スケッチライタ使う場合のスケッチの書き込み方法について説明します。

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
Arduino用ブートローダ/スケッチライタ(完成品) 商品名 Arduino用ブートローダ/スケッチライタ(完成品)
税抜き小売価格 3600円
販売店 スイッチサイエンス マルツ
サポートページ

スケッチの書き込みにはATmega88/88V/168P/328Pサポートファイルが必要です。あらかじめArduino IDEにインストールしておいてください。インストール方法はATmega88/88V/168P/328PにArduinoのブートローダを書き込むの記事に説明があります。

次の手順に従って、スケッチを書き込んでください。

【手順1】 CN1にUSBシリアル変換器が接続されていないことと、CN2にジャンパピンが付いていないことを確認し、CN9(SUPPLY TARGETと書いてあるピンヘッダ)にジャンパピンを付ける
写真47、CN1とCN2に何もつながっていないことを確認し、CN9にジャンパピンを付ける
↑ 画像をクリックすると拡大
写真47、CN1とCN2に何もつながっていないことを確認し、CN9にジャンパピンを付ける

注:USBシリアル変換器から電源が供給されている状態でジャンパピンの設定を変えると、電源がショートする事があり、故障の原因になります。過電流保護用のポリスイッチを付けているので、簡単には故障しない設計にはなっていますが、保護回路を過信する事は禁物です。

【手順2】 必要ならばCN4にジャンパピンを付ける
写真48、CN4へのジャンパピンの取り付け
↑ 画像をクリックすると拡大
写真48、CN4へのジャンパピンの取り付け

CN4(ENABLE BUZZER)にジャンパピンを付けると、ブートローダの書き込み時に、書き込みの様子を音でモニターできます。音が出るとうるさい場合は、CN4にはジャンパピンを付けないでください。

【手順3】Arduino用ブートローダ/スケッチライタとターゲット基板をICSPケーブルで接続する

写真49の様に、Arduino用ブートローダ/スケッチライタとターゲット基板の双方のICSP端子を、ICSPケーブルで接続します。

写真49、Arduino用ブートローダ/スケッチライタとターゲット基板の接続
↑ 画像をクリックすると拡大
写真49、Arduino用ブートローダ/スケッチライタとターゲット基板の接続

Arduino用ブートローダ/スケッチライタのCN8がICSP端子です。ICSPケーブルの接続の際には、Arduino用ブートローダ/スケッチライタのICSP端子の1番ピン(白い丸が書いてあるピン)が、ターゲット基板のICSP端子の1番ピンにつながる様に、ケーブルを接続してください。

写真50、Arduino用ブートローダ/スケッチライタのICSP端子に接続したケーブル
↑ 画像をクリックすると拡大
写真50、Arduino用ブートローダ/スケッチライタのICSP端子に接続したケーブル

端子のそばの、白い丸い点が1番ピンのマークです。茶色の線が1番ピン側になる様にコネクタを接続している事に注目してください。

写真51、ターゲット基板のICSP端子に接続したケーブル
↑ 画像をクリックすると拡大
写真51、ターゲット基板のICSP端子に接続したケーブル

茶色の線が1番ピン側になる様にコネクタを接続している事に注目してください。2つのICSP端子の1番ピン同士をつなぐようにケーブルを接続しています。コネクタを逆向きに接続すると、機器の故障の原因になりますので、注意が必要です。

広告
【手順4】USBシリアル変換器をCN1に接続し、さらにUSBケーブルでパソコンに接続する
写真52、USBシリアル変換器とUSBケーブルを接続
↑ 画像をクリックすると拡大
写真52、USBシリアル変換器とUSBケーブルを接続

USBシリアル変換器は5V出力の物3.3V出力の物、および、出力電圧が5Vと3.3Vで切り替えられる物があります。USBシリアル変換器の出力電圧は、ターゲット基板に合わせて適切に選択してください。USBシリアル変換器からターゲット基板へ、ICSPケーブルを経由して電源が供給されますので、5Vの電圧に耐えられない部品が載っているターゲット基板に5V出力のUSBシリアル変換器を用いると、故障の原因になります。ご注意ください。

電源の入ったパソコンにUSBケーブルを接続すると、LED1(POWER)が点灯します。また、LED6(HEARTBEAT)が周期的に明るくなったり暗くなったりします。このようにLED6が周期的に明暗を繰り返すのはArduinoISPのファームウェアが正常に動作している印です。

【手順5】 SW1をArduinoISP側に切り替える
写真53、SW1をArduinoISP側に切り替える
↑ 画像をクリックすると拡大
写真53、SW1をArduinoISP側に切り替える
【手順6】 Arduino IDEを起動し、ポート番号(COM番号)を指定する

Arduino IDEを起動し、ツール→シリアルポートメニュー(Arduino IDEのバージョンによってはツール→ポートメニュー)でポート番号を指定します。

図68、ポート番号を指定する
図68、ポート番号を指定する

注:この例ではCOM3を選んでいますが、実際には自分の環境に合わせてポート番号を指定してください。

【手順7】ターゲット基板のマイコンの種類とクロックの種類を選択する

Arduino IDE 1.0.Xの場合は、ツール→マイコンボードメニューで、マイコンの種類とクロックの種類のペアを選択します。

図69、マイコンの種類とクロックの種類を選択(Arduino IDE 1.0.Xの場合)
図69、マイコンの種類とクロックの種類を選択(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参照)。

図70、マイコンを選択(Arduino IDE 1.6.X、1.7.X、または1.8.Xの場合)
図70、マイコンを選択(Arduino IDE 1.6.X、1.7.X、または1.8.Xの場合)

注:この例では"ATmega328P"を選択していますが、実際には自分の使うマイコンを、表3を参考に選択してください。

図71、クロックを選択(Arduino IDE 1.6.X、1.7.X、または1.8.Xの場合)
図71、クロックを選択(Arduino IDE 1.6.X、1.7.X、または1.8.Xの場合)

注:この例では"8MHz/X'tal"を選択していますが、実際には自分の使うクロックを、表4を参考に選択してください。

【手順8】 ツール→書込装置メニューでArduino as ISPを選択する
図72、Arduino as ISPを選択
図72、Arduino as ISPを選択
【手順9】"ツール→ブートローダを書き込む"メニューを選び、ヒューズビットを書き込む

ツール→ブートローダを書きこむメニューを選び、ヒューズビット(マイコンの動作モードを決める情報)を書き込みます。

図73、"ツール→ブートローダを書き込む"メニューを選択
図73、"ツール→ブートローダを書き込む"メニューを選択

注:この際、ヒューズビットと一緒にブートローダも書き込まれますが、後でスケッチを書き込むときに、ブートローダはスケッチで上書きされます。

ヒューズビットの書き込み中は、ProgrammingのLED(LED4)が点灯します。

写真54、Programming LEDの点灯
↑ 画像をクリックすると拡大
写真54、Programming LEDの点灯

しばらくすると、ヒューズビットが書き込めるはずです。

図74、書き込み完了メッセージ
図74、書き込み完了メッセージ

ヒューズビットの書き込みが終わったら、ProgrammingのLEDは消えます。

写真55、Programming LEDの消灯
↑ 画像をクリックすると拡大
写真55、Programming LEDの消灯

もし、ヒューズビットの書き込みに失敗すると、ErrorのLED(LED3)が点灯して書き込みが中断します。その場合は、正しい手順で書き込んでいるか再確認の上、もう一度ヒューズビットを書き込んでください。

写真56、Error LEDの点灯
↑ 画像をクリックすると拡大
写真56、Error LEDの点灯

注:エラーの発生の状況によっては、ErrorのLEDが点灯しない事もあります。必ず画面のメッセージを確認してください。

【手順10】書き込みたいスケッチを開く

書き込みたいスケッチを開きます。

参考:電子サイコロのスケッチを書き込む場合は、リスト1(水晶振動子を使う場合)またはリスト2(内蔵CR発振器を使う場合)を開いてください。

図75、書き込みたいスケッチを開く
図75、書き込みたいスケッチを開く
【手順11】スケッチを書き込む

ファイル→書込装置を使って書き込むメニュー(Arduino IDEのバージョンによってはスケッチ→書込装置を使って書き込むメニュー)を選ぶと、スケッチを書き込めます。

図76、スケッチを書き込む
図76、スケッチを書き込む

スケッチの書き込み中は、ヒューズビットの書き込みの際と同様に、ProgrammingのLEDが点灯します。

スケッチが書き込み終わると、ProgrammingのLEDは消灯し、次の様なメッセージが表示されます。

図77、書き込み完了メッセージ
図77、書き込み完了メッセージ

以上で、スケッチの書き込みは終了し、書き込んだスケッチがターゲット基板上で動作し始めます。

スケッチを修正し、書き込みなおすには、手順10以降をもう一度実行してください。

注:ターゲット基板には、ヒューズビットは一度書き込めばいいので、2回目以降のスケッチの書き込みでは、ヒューズビットを書き込む必要はありません。

スケッチの開発が終わったら、ターゲット基板からICSPケーブルを抜き、正規の電源回路を電源端子に付けて使ってください。

9-6.内蔵CR発振器を使っている場合の注意点

水晶振動子やセラミック発振子を使わずに、マイコン内蔵のCR発振器を使っている場合は、ICSPケーブルを使ってスケッチを書き込む際に、クロックの設定を必ず8MHz/INT OSCにしてください。クロックの設定を間違えたままスケッチを書き込むと、それ以降、スケッチが書き込めなくなりますので、ご注意ください。

万一、クロックの設定を間違えたままスケッチを書き込んだ場合は、マイコンを基板から取り出し、5ページで説明したArduino Uno用ブートローダライタシールドまたはArduino用ブートローダ/スケッチライタのZIFソケットにマイコンを装着する方法で、スケッチを書き直す必要があります。

9-7.ターゲット基板の消費電流が多い場合の注意点

この章で説明したスケッチの書き込み方法では、ターゲット基板の電源を、ICSPケーブルで供給し、本来のターゲット基板の電源は接続しない状態でスケッチを書き込みます。しかしながら、ターゲット基板の消費電流が多く、USBシリアル変換器の電流供給能力を超える場合は、この方法ではうまくスケッチを書き込めません。

そのような場合は、SUPPLY TARGETのコネクタ(Arduino Uno用ブートローダライタシールドの場合はCN2、Arduino用ブートローダ/スケッチライタの場合はCN9)にジャンパピンを付けず(こうするとICSP端子への電源供給が止まります)、その代わりに、ターゲット基板に正規の電源回路を接続してスケッチを書き込んでください。なお、この際に、USBシリアル変換器の出力電圧と、ターゲット基板に接続した電源の電圧を合わせる事が重要です。これらが異なると、故障の原因になります。

次のページでは、UART経由でスケッチを書き込むタイプのArduino互換機の作り方を説明します。

目次へ  前のページへ (2) (3) (4) (5) (6) (7) (8) (9) (10) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

Arduino Uno用ブートローダスケッチライタシールドキット 商品名 Arduino Uno用ブートローダスケッチライタシールドキット
税抜き小売価格 1440円
販売店 スイッチサイエンス
サポートページ
Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
Arduino用ブートローダ/スケッチライタ(完成品) 商品名 Arduino用ブートローダ/スケッチライタ(完成品)
税抜き小売価格 3600円
販売店 スイッチサイエンス マルツ
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。