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