Arduino Uno用ブートローダライタシールドキットサポートページ(4)

このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ
Arduino Uno用ブートローダスケッチライタシールドキット 商品名 Arduino Uno用ブートローダスケッチライタシールドキット
税抜き小売価格 1440円
販売店 スイッチサイエンス
2015年10月27日 暫定公開。
2015年10月31日 正式公開。

11.ブートローダを使わずにATmega328Pにスケッチを書き込む方法

Arduino Uno用ブートローダライタシールドキットでは、ブートローダを使わずに、直接ATmega328Pにスケッチを書きこむ事もできます。

ブートローダを使ってスケッチを書き込む方法と、ブートローダを使わずにスケッチを直接書き込む方法の長所・短所を、表を使って簡単に説明します。

表3、スケッチの書き込みにブートローダを使う方法とブートローダを使わない方法の比較
ブートローダを使う方法 ブートローダを使わない方法
長所
  • 安価で小型なUSBシリアル変換器をターゲット基板に差し込むことで、スケッチを簡単に書き換えられる。
  • Arduino IDE上でのスケッチの書き換えの操作が、本家のArduinoと同じになる。
  • ブートローダによるスケッチの転送速度は、ブートローダを使わないICSPによるスケッチの転送速度より、通常は高速なため、大きなスケッチを書き換える場合は、ブートローダを使うほうが高速になる。
  • スケッチの起動が高速。
短所
  • マイコンのリセット時に、スケッチがシリアルポートから書き込まれてこないかを、毎回ブートローダがチェックするので、スケッチの起動が遅くなる。
  • スケッチの書き換えには、高価で大型のICSPライタ(例えばArduino Uno用スケッチライタシールドとArduino Unoとの組み合わせ)が必要。

要約すると、Arduino互換マイコンのをターゲット基板に組み込んだ後に、スケッチを書き換える可能性があるなら、おおむねブートローダを使う方が 便利です。逆に、スケッチは基板製造時に書き込めば十分で、スケッチを後から書き換える可能性がない用途には、おおむねブートローダを使わない方法が便利です。

ブートローダを使わずに、直接ATmega328Pにスケッチを書き込むには、以下の手順に従ってください。

なお、この方法でスケッチを書き込んだATmega328Pを動作させるには、外部クロック源として16MHzの水晶振動子が必要になります。

【手順1】ブートローダライタシールドをArduino Unoに装着し、CN3(KILL RESETと書いてあるピンヘッダ)からジャンパピンを取り除く
写真32(再掲)、Arduino Unoにブートローダライターシールドを装着し、CN3のジャンパピンを取り除く
↑ 画像をクリックすると拡大
写真32(再掲)、Arduino Unoにブートローダライターシールドを装着し、CN3のジャンパピンを取り除く
【手順2】Arduino UnoとパソコンをUSBケーブルで接続する。
【手順3】Arduino IDEを起動し、ファイル→スケッチの例メニューからArduinoISPのファームウェア(スケッチ)を開く
図1(再掲)、ArduinoISPのスケッチを開く
図1(再掲)、ArduinoISPのスケッチを開く
【手順4】ツール→マイコンボードメニュー(Arduino IDE 1.0.Xの場合)を開いてArduino Unoを選択する
図2(再掲)、Arduino Unoを選択する(Arduino IDE 1.0.Xの場合)
図2(再掲)、Arduino Unoを選択する(Arduino IDE 1.0.Xの場合)

注:Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→ボードメニューになります。

図3(再掲)、Arduino Unoを選択する(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図3(再掲)、Arduino Unoを選択する(Arduino IDE 1.6.Xおよび1.7.Xの場合)
【手順5】ツール→シリアルポートメニュー(Arduino IDE 1.0.Xの場合)でポート番号(COM番号)を指定する
図4(再掲)、ポート番号を指定する(Arduino IDE 1.0.Xの場合)
図4(再掲)、ポート番号を指定する(Arduino IDE 1.0.Xの場合)

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

注2:Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→ポートメニューになります。

図5(再掲)、ポート番号を指定する(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図5(再掲)、ポート番号を指定する(Arduino IDE 1.6.Xおよび1.7.Xの場合)
【手順6】 Arduino UnoにArduinoISPのスケッチを書き込む

下の図の様に、右矢印ボタンをクリックして、ArduinoISPのスケッチをArduino Unoに書き込みます。

図6(再掲)、ArduinoISPのスケッチを書き込む
図6(再掲)、ArduinoISPのスケッチを書き込む

ArduinoISPのスケッチが正常に書き込めると、HeartbeatのLED(LED2)が明るくなったり暗くなったりを繰り返します。

写真33(再掲)、Heartbeat LEDの点滅
↑ 画像をクリックすると拡大
写真33(再掲)、Heartbeat LEDの点滅
【手順7】CN3にジャンパピンを装着する
写真34(再掲)、CN3にジャンパピンを装着する
↑ 画像をクリックすると拡大
写真34(再掲)、CN3にジャンパピンを装着する
【手順8】 ツール→書込装置メニューでArduino as ISPを選択する
図7(再掲)、Arduino as ISPを選択
図7(再掲)、Arduino as ISPを選択
【手順9】書き込みたいスケッチを開く

ここでは例としてBlinkスケッチ(Arduino IDEにサンプルとして付いてくる、LEDを点滅させるスケッチ)を開きますが、実際にはご自分の書き込みたいスケッチを開いてください。

図13、Blinkスケッチを開く
図13、Blinkスケッチを開く
【手順10】 ZIFソケットにマイコンIC(ATmega328P-PU)を装着する

下の写真のように、マイコンをソケットに挿入してから、レバーを倒して固定します。

写真35(再掲)、マイコンのZIFソケットへの挿入
↑ 画像をクリックすると拡大
写真35(再掲)、マイコンのZIFソケットへの挿入
写真36(再掲)、マイコンの固定
↑ 画像をクリックすると拡大
写真36(再掲)、マイコンの固定
【手順11】 ツール→ブートローダを書き込むメニューを選び、ヒューズビットを書き込む

この手順では、マイコンにヒューズビット(動作モードに関する情報)を書き込みます。同時にブートローダも書き込みますが、手順12でスケッチを書き込む際にはブートローダは使用しません。また、スケッチを書き込むと、ブートローダは消去されます。

以前にヒューズビットを書き込んで動作モードを設定したマイコンの場合は、この手順をスキップできます。

ヒューズビットを書き込むには、ツール→ブートローダを書き込むメニューを選んでください。

図14、ヒューズビットを書き込む
図14、ヒューズビットを書き込む

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

写真37(再掲)、Programming LEDの点灯
↑ 画像をクリックすると拡大
写真37(再掲)、Programming LEDの点灯

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

図9(再掲)、書き込み完了メッセージ
図9(再掲)、書き込み完了メッセージ

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

写真38(再掲)、Programming LEDの消灯
↑ 画像をクリックすると拡大
写真38(再掲)、Programming LEDの消灯

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

写真39(再掲)、Error LEDの点灯
↑ 画像をクリックすると拡大
写真39(再掲)、Error LEDの点灯

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

【手順12】ファイル→書込装置を使って書き込むメニューを選び、スケッチを書き込む

ファイル→書込装置を使って書き込むメニューを選ぶと、スケッチを書き込み始めます。

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

スケッチの書き込み中は、手順11の際と同様に、ProgrammingのLEDが点灯します。

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

図16、書き込み完了メッセージ
図16、書き込み完了メッセージ
【手順13】 マイコンをZIFソケットから外す

ZIFソケットのレバーを立ててからマイコンを取ってください。

続けて別のマイコンに同じスケッチを書き込む場合は、手順10~13を繰り返してください。

広告

12.ブートローダを使わずにATmega168にスケッチを書き込む方法

前章のブートローダを使わずにATmega328Pにスケッチを書き込む方法において、手順9と手順10の間で、ツール→マイコンボードメニュー(Arduino IDE 1.0.Xの場合)でArduino Diecimila or Duemilanove w/ ATmega168を選ぶと、ATmega168にスケッチを書きこむ事ができます。

なお、この方法でスケッチを書き込んだATmega168を動作させるには、、外部クロック源として16MHzの水晶振動子が必要になります。

注:末尾にPの付いたATmega168Pという型番のAVRマイコンがありますが、それにはここに書いた方法でスケッチを書き込めません。後述する方法で書き込んでください。

図17、Arduino Diecimila or Duemilanove w/ ATmega168の選択(Arduino IDE 1.0.Xの場合)
図17、Arduino Diecimila or Duemilanove w/ ATmega168の選択(Arduino IDE 1.0.Xの場合)

Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→マイコンボードメニューで一旦Arduino Duemilanove or Diecimilaを選んでから、ツール→プロセッサメニューでATmega168を選びます。

図18、Arduino Duemilanove or Diecimilaの選択(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図18、Arduino Duemilanove or Diecimilaの選択(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図19、ATmega168の選択(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図19、ATmega168の選択(Arduino IDE 1.6.Xおよび1.7.Xの場合)

次のページでは、ATmega88/88V/168Pにブートローダやスケッチを書きこむ方法を説明します。

目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ

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

関連ページ

関連製品

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