どうも、なかしー(@nakac_work)です。
僕は自動車や家電製品のマイコンにプログラミングをする組み込みエンジニアとして働いています。
ArduinoのIC単体を買ったけど、スケッチ(プログラム)を書き込めないよ!書き込みに必要なブートローダーって何?
といった疑問を解決します。
ブートローダーは、Arduinoにスケッチを書き込んだり、プログラムを実行させるのに必要な機能です。
Arduinoにブートローダーを書き込めるようになれば、ICだけ購入して複製できて費用を抑えれますよ!
この記事では「Arduinoにブートローダを書き込む方法」について紹介します。
Arduinoのブートローダとは?
ブートローダには、ROM(不発揮性メモリ)にプログラムを書き込むのか、それともプログラムを実行するのかを管理する役割があります。
電源を入れるとブートローダが動作をして、USART通信の状態を監視します。
もしも、パソコンからデータが送られてきているようなら、プログラムの書き込みと判断します。
プログラムはROMに書き込まれ、RAMに移動させることで実行されます。
移動させるのもブートローダの役割です。
Arduinoにブートローダを書き込む方法
Arduinoにブートローダを書き込むときは、Arduinoのマイコンボードではなく、搭載されているICを単体で購入したときです。
単体で購入することで余計な部品が付いてこないので、マイコンボードを購入するよりも安価で済みます。
Arduinoにブートローダを書き込むための接続と操作の方法を紹介します。
ブートローダを書き込むための接続
ブートローダを書き込むのに必要な部品を紹介します。
- Arduino UNO
- ブレッドボード
- ジャンパーワイヤー
- 水晶発振器(16MHz)→1個
- コンデンサ(22pF)
- 抵抗(10kΩ)→1個
Arduinoを動かすために必要な部品と同じです。
Arduino UNOと部品を下の表の通りに繋いでください。
ブートローダーを書き込むIC | Arduino UNO側 |
1ピン※1 | DIGITAL 10 |
7ピン | +5V |
8ピン | GND |
9ピン※2 | 水晶発振器 |
10ピン※2 | 水晶発振器 |
17ピン | DIGITAL 11 |
18ピン | DIGITAL 12 |
19ピン | DIGITAL 13 |
20ピン | +5V |
22ピン | GND |
※1抵抗はブートローダーの1ピンとGNDに繋げます。
※2コンデンサは水晶発振器の両端とGNDに繋げてください。
ブートローダを書き込む操作
Arduino IDEの「ツールタブ」をクリックして、下から2番目の書込装置を「Arduino as ISP」に変更します。
その後、「ツールタブ」を再びクリックして、「ブートローダを書き込む」を選択すれば実行されます。
Arduinoにブートローダーを書き込む方法|まとめ
この記事では「Arduinoにブートローダーを書き込む方法」について紹介しました。
Arduinoを動かすために必要な部品をICに接続し、Arduino IDEを操作してブートローダを書き込むことができます。
もしも、ArduinoのICを使って基板を複製をしたいときは、この方法で書き込むことで、購入費用を抑えることができるメリットがあります。
人気記事
>>電子工作の始め方【回路設計からプログラミングまで可能にする方法】
当ブログで人気のArduino入門キット