ATmega328Pを内部8MHzで動作させる
ATmega328Pを内部8MHzで動作させる
Arduino(Uno等)にはAtmega328Pが使用されています。
そのAtmega328Pは外付けのセラミックコンデンサーで16Mhzにて動作しています。
動作させる周波数に比例して電圧を上げる必要があります。
32.3. 速度勾配
最高周波数は動作電圧に依存します。最高周波数対VCCの図 で示されるようにここでの曲線は1.8~2.7Vと2.7~4.5V間で直線 です。
mega328P.pdfより引用(207P)
https://avr.jp/user/DS/PDF/mega328P.pdf
上記の通り、ATmega328Pを16Mhzで動作させるには3Vより高い電圧を掛ける必要がありますが、8Mhzであれば3Vで動作します。
ですが、ArduinoIDEにはデフォルトでその設定はなく、自分でボードを追加する必要があります。
上頁の中程の"breadboard-1-6-x.zip"をダウンロードします。
(下画像の青文字リンク)
ダウンロードして展開したファイル(breadboard)を
Macなら"Users/Documents/Arduino/hardware"
Windowsなら"Program Files (x86)\Arduino\hardware"
に保存する。
再起動して"ツール/ボード/ATmega328 on breadboard(8Mhz internal Clock)"
を選択し、Arduino as ISP等のライターで書き込む。
また、16Mhz外部クロックのブートローダが書き込まれたATmega328に8Mhz internal clockのブートローダを書き込む際は16mhzの動作回路が必要になります。