Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

Arduino ブートローダの書き込み(ATmega328P)

$
0
0
aitendoから最小構成のAeduino KIT「あちゃんでいいの」とそれに使うAVRマイコンATmega328P-PUを購入しました。

 まず、最初の作業は、ATmega328P-PUにブートローダを書き込むことです。

 Arduino UNOを使ってにATmega328Pにブートローダを書き込む方法は、Arduinoのホームページに書いてあります
 が、英文で私にはよくわかりません。そこで、日本語でこれを紹介しているWebページを探すと「しなぷすのハード製作記」に記事がありました。

 これを参考にして、ブートローダを書き込むことができました。しなぷすさん ありががとうございます。

 これから挑戦する方のために、方法を記録しておきます。

 ArduinoとATmega328Pの接続は次の回路図ようにします。

イメージ 3


 実際にAeduinoとブレッドボードの配線の様子です。

イメージ 1

 Arduinoのホームページに紹介されている実体配線図は下の図のようにになっています。

イメージ 2
Arduino.ccより

 この実体配線図と同じように配線しましたが、違いはArduinoのRESETとGNDの間に10μFの電解コンデンサが入っていることです。Arduinoのホームページでは、文章でArduino UNOの場合は、10μFを入れると書いててあるようです。

 ブレッドボード上に10μFを取り付けたのには、理由があります。最初、Ardiono本体に10μFを取り付けたのですが、
avrdude:stk500_getsync():not in sync:resp=0x00

というエラーが出て、Arduinoにスケッチが書き込めませんでした。

ということで、ブレッドボード上に電解コンデンサを配置することにし、ブートローダの書き込み時だけArduinoに接続するようにしました。

 書き込みの手順を紹介します。(詳細は「しなぷすのハード製作記」のWebページを見てください)

 (1)Arduino IDE(ここでは、バージョン1.0.6を使いました)で
    ファイル→スケッチ例→ArduinoISPを選びます。
    この段階では、まだブレッドボードとArduinoを接続しません。

 (2)ツール→マイコンボード→Arduino UNOを選びます。

 (3)ツール→シリアルポート→COMポートを選びます。(Arduinoが接続されているCOMポート)

 (4)Arduino UNOにArduino ISPのスケッチを書き込みます。上記のようにArduino本体のRESETとGNDに10μFを接続しているとエラーが出て、スケッチを書き込めません。

 (5)Arduino UNOとブレッドボードを接続する。

 (6)ツール→書き込み装置→Arduino as ISPを選ぶ。

 (7)ツール→ブートローダを書き込む を選ぶ

 約30秒で書き込みが終了します。

 ブートローダが正しく書き込まれたかどうかの確認ですが、Aeduino本体のATmega328Pと今回書き込んだATmega328Pを入れ替えて行いました。

 Lチカのスケッチが正常に動きましたので、ブートローダが正しく書き込まれたと判断しました。

 今回は、未使用のATmega328Pを使いました。未使用の場合は、16MHzの水晶発振器は不要とのことでしたが、うまく書き込めず、水晶発振器をつけてうまく書き込めました。

 これで、ブートローダの書き込みができましたので、次は「あちゃんでいいの」を組み立てます。


Viewing all articles
Browse latest Browse all 440

Trending Articles