ATMega328PUを単体8Mhzで動作させる(簡潔まとめ版)
こんにちは かなで です。
ひとつ前の記事でグダグダ解説版を書きましたが、
結果だけまとめると、「以下のようにすればいいよ」という事になります。
グダグダ解説聞きたい方はこちら↓
準備するもの
①Arduino UNO(か互換UNO)
②ATMega328PU
③10kΩ抵抗
④水晶発振子16MHz
⑤22pFコンデンサ
⑥ケーブル少々
以上!
前の記事を熟読してもらうとわかるんですが、
②で準備する「ATMega328PU」がブートローダが書き込まれてないタイプ、もしくは「内蔵クロック8Mhz」で書き込まれているタイプであれば、「水晶発振子16MHz」とか「22pFコンデンサ」とか「10KΩ抵抗」は必要ありません。
ただ一度でも外部クロック16MHzで書き込んでしまうと、もう水晶発振子16MHzがないと書き込めなくなってしまいます。
そんなわけで、この辺のことを覚えたり、8MHz用で考えながらやってハマるくらいなら、水晶発振子はつけておくのがいいというのが結論です。
配線図
![](https://kanalabo.net/wp-content/uploads/2022/03/1b5181c67bd00ab747ba8cd688fc8503.png)
①Arduino本体側の準備
![](https://kanalabo.net/wp-content/uploads/2022/03/bd580ccb7f97a964b9cd1ea57cec855b.png)
ツール→ボード:Arduino Unoを選んでください。
![](https://kanalabo.net/wp-content/uploads/2022/03/05f1609c4e8f9c87390a2501d38c40a3.png)
スケッチはファイル→スケッチ例→「ArduinoISP」を選択
![](https://kanalabo.net/wp-content/uploads/2022/03/8db635c5e823f37ea8fb65b8bda6d29b.png)
スケッチ→マイコンボードに書き込む。
これで書き込みが成功すれば、Arduino本体側の準備は完了です。
②ATMega328PUのブートローダを書込む(8MHz用)
![](https://kanalabo.net/wp-content/uploads/2022/03/aa32dfc2cf84c0585867061333bc3246.png)
ツール→ボード:ATmega328 on a breadboard (8MHz internal clock)を選択してください。
※「ATmega328 on a breadboard (8MHz internal clock)」は標準では選択肢がありません。
以下の記事を参考に追加してください。
![](https://kanalabo.net/wp-content/uploads/2022/03/c5d032f6bab8fffb3f63c3df9fd2596c.png)
ツール→書込装置:Arduino as ISPを選択してください。
![](https://kanalabo.net/wp-content/uploads/2022/03/b23598df2502be006cdcd369aa95ecc3.png)
ツール→ブートローダを書込む
これが成功すると、ATMega328に内部クロック8MHz用のブートローダが書き込まれた状態になります。
③プログラムを書き込む(8MHz用)
ここではBlink(Lチカ)のスケッチをプログラム領域に書き込みます。(実際のスケッチはなんでもOK)
以下はブートローダと一緒
・ボード:ATmega328 on a breadboard (8MHz internal clock)
・書込装置:Arduino as ISP
![](https://kanalabo.net/wp-content/uploads/2022/03/0a8c9c612bfe811fe3604940b5570d9e.png)
あとは、Blinkを開いた状態で、スケッチ→書込装置を使って書き込む
これで、Lチカが起動します。(速度がちゃんと1秒点灯→1秒消灯になっているか確認しましょう)
簡潔まとめ版は以上です。
ちなみに、①②をいじっていなければ、以降はプログラム書き換えたいときは③だけ実施すればOKです。
最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。