Kanade Labo

かなで研究所

ATMega328PUを単体8Mhzで動作させる(簡潔まとめ版)

こんにちは かなで です。

ひとつ前の記事でグダグダ解説版を書きましたが、

結果だけまとめると、「以下のようにすればいいよ」という事になります。

グダグダ解説聞きたい方はこちら↓

準備するもの
①Arduino UNO(か互換UNO)
②ATMega328PU
③10kΩ抵抗
④水晶発振子16MHz
⑤22pFコンデンサ
⑥ケーブル少々

以上!

前の記事を熟読してもらうとわかるんですが、
②で準備する「ATMega328PU」がブートローダが書き込まれてないタイプ、もしくは「内蔵クロック8Mhz」で書き込まれているタイプであれば、「水晶発振子16MHz」とか「22pFコンデンサ」とか「10KΩ抵抗」は必要ありません。
ただ一度でも外部クロック16MHzで書き込んでしまうと、もう水晶発振子16MHzがないと書き込めなくなってしまいます。
そんなわけで、この辺のことを覚えたり、8MHz用で考えながらやってハマるくらいなら、水晶発振子はつけておくのがいいというのが結論です。

配線図

①Arduino本体側の準備

ツール→ボード:Arduino Unoを選んでください。

スケッチはファイル→スケッチ例→「ArduinoISP」を選択

スケッチ→マイコンボードに書き込む。

これで書き込みが成功すれば、Arduino本体側の準備は完了です。

②ATMega328PUのブートローダを書込む(8MHz用)

ツール→ボード:ATmega328 on a breadboard (8MHz internal clock)を選択してください。

※「ATmega328 on a breadboard (8MHz internal clock)」は標準では選択肢がありません。
 以下の記事を参考に追加してください。

ツール→書込装置:Arduino as ISPを選択してください。

ツール→ブートローダを書込む

これが成功すると、ATMega328に内部クロック8MHz用のブートローダが書き込まれた状態になります。

プログラムを書き込む(8MHz用)

ここではBlink(Lチカ)のスケッチをプログラム領域に書き込みます。(実際のスケッチはなんでもOK)

以下はブートローダと一緒
・ボード:ATmega328 on a breadboard (8MHz internal clock)
・書込装置:Arduino as ISP

あとは、Blinkを開いた状態で、スケッチ→書込装置を使って書き込む

これで、Lチカが起動します。(速度がちゃんと1秒点灯→1秒消灯になっているか確認しましょう)

簡潔まとめ版は以上です。

ちなみに、①②をいじっていなければ、以降はプログラム書き換えたいときは③だけ実施すればOKです。

最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。

-Arduino/ATMega328P