Arduinoの替わりにATMega328P-PUを使ってみる①(ブートローダー書き込み編)

先日のブログ
中国製の激安Arduino Nano V3互換機($3)を買ってみた
Arduino Nano互換機から煙が出たの巻
に書いたとおり、せっかく買ったArduino Nano互換機3つのうち、早くも2つを壊してしまいました。

やりたかったのは、I2C通信で複数台Arduinoをスレーブにしたときの動作確認(実験)だったので、
1台だけでは、確認ができません。

また中国から買うと約10日待つことになるけど、
高いArduinoを買うのもちょっと、、、。
というわけで、ついにチップに手を出すことにしました。

買ったのは、Arduinoに載ってるAVRマイコン「ATMega328P-PU」
IMG_0943

スイッチサイエンスさんだと、ブートローダ書き込み済みで360円。
https://www.switch-science.com/catalog/1414/

秋月電子さんだと、ブートローダは自分で書き込まないといけないけど250円。
http://akizukidenshi.com/catalog/g/gI-03142/

よくわからないけど、
Arduinoに載ってるマイコンってことは、きっと同じことができるんでしょ?
ブートローダー?自分で書き込めばいいんでしょ?
ってことで、昨日、2機目のArduino Nano互換機を焼いたあと、
秋月電子さんでATMega328P-PUを5つをポチっと。

昨日の午後にポチったのに、今朝には届きました!
日本の物流、恐るべし!!

だがしかーし、ブートローダー書き込むのが、まず、わからない。
とりあえず、こちらのサイトを参考に、ブートローダ書き込みのための配線。
Arduino Uno用ブートローダライタシールドの製作(1)
特にこのブログ内の
 なお、原文の一番右下には、上の写真に相当する実体配線図がありますが、その実体配線図には10μFの電解コンデンサが抜けています。その代わり、言葉で”Note for the Arduino Uno: you’ll need to add a 10 uF capacitor between reset and ground.” (Arduino Unoを使う場合の注意:RESETとGNDの間に10μFのコンデンサを追加してください)と書いてあります。
が、超参考になりました!!

IMG_0944

そして、配線後、ブートローダの書き込みまでの準備は、こちらを参考に。
Atmega328にArduinoのブートローダを書き込む(8MHz 16MHz)

Arduino Unoくんに、「Arduino ISP」ってやつをアップロードして、
ブートローダの書き込み準備完了!

そしてついに、ブートローダの書き込み。
手元に、水晶発信子の手持ちがないので、書き込みは一発勝負です。
(まぁ、水晶発信子を買えばいいだけの話だけど、、、)

ちなみに、Arduino IDEのバージョン1.5系、1.6系では、
「ブートローダの書き込みに失敗しました」と出て、うまくいきませんでした。
バージョン1.0.5系だと、無事「ブートローダの書き込みが完了しました」となりました。

これでブートローダの書き込みが出来たので、
次回は、ATMega328P-PUにプログラムをアップロードします。

この記事を書いた人

福西真奈株式会社ドラプロ 代表取締役
株式会社ドラプロ(http://www.dorapro.co.jp/) 代表取締役。 iPhoneアプリ開発/WEBシステム開発をやっています。
Pocket