Kanade Labo

かなで研究所

ATMega328PUを単体8Mhzで動作させる(重要補足事項)

こんにちは かなで です。

前回、前々回と、ATMega328PUを内蔵クロック8MHzで動作させるための方法について記事にしましたが、とっても重要なことを書き忘れておりました…

過去記事に追記すればいいんですが、説明的に多めで、ごちゃごちゃがさらにごちゃごちゃするので、本記事にまとめることにしました。

肝心の内容ですが、過去記事をそのまま進めると躓く場所があります。

ボードで「ATmega328 on a breadboard (8MHz internal clock)」を選ぶところです。

実はこれ、標準では用意されていないもので、独自に取り込む必要があるものなんです。

り込む前に

今すでに似たようなものが表示されていて、うまくいってるんならいいですが、もしうまくいってない場合は、一旦それを削除するのをお勧めします。

というのも、他サイト様でも、同じ文言のボードを追加する方法が書いてあるのですが、その方法ではうまくいかなかったからです。

おそらく、現在の最新バージョンArduino 1.8.19だと記載の仕方が違うからのようです。

試行錯誤の上、Arduino 1.8.19でも使える「ATmega328 on a breadboard (8MHz internal clock)」を作りましたので、こちらを使用してみてください。

取り込み方法

標準では「C:\Program Files (x86)\Arduino\hardware\arduino\avr」配下に「boards.txt」というファイルがあります。

ただのテキストファイルなので、メモ帳で開いてください。

適当に上下にスクロールさせると「###########~」で区切られた10~20行くらいのセットがいくつもあるのがわかると思います。

このファイルの最後に以下をコピペで追加してください。

##############################################################

atmega328p8mclk.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328p8mclk.upload.tool=avrdude
atmega328p8mclk.upload.protocol=arduino
atmega328p8mclk.upload.maximum_size=30720
atmega328p8mclk.upload.maximum_data_size=2048
atmega328p8mclk.upload.speed=57600

atmega328p8mclk.bootloader.tool=avrdude
atmega328p8mclk.bootloader.low_fuses=0xE2
atmega328p8mclk.bootloader.high_fuses=0xDA
atmega328p8mclk.bootloader.extended_fuses=0x05
atmega328p8mclk.bootloader.unlock_bits=0x3F
atmega328p8mclk.bootloader.lock_bits=0x0F
atmega328p8mclk.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex

atmega328p8mclk.build.mcu=atmega328p
atmega328p8mclk.build.f_cpu=8000000L
atmega328p8mclk.build.board=AVR_ATMEGA328P_8M_CLK
atmega328p8mclk.build.core=arduino
atmega328p8mclk.build.variant=standard

上書き保存します。

Arduino IDEを再起動すると

ツール→ボードの欄に「ATmega328 on a breadboard (8 MHz internal clock)」が追加されます。

これで使えるようになりました。

その他注意点

他サイト様を見てると、上記の場所ではなく、

C:\Users\ユーザ名\Documents\Arduino\hardware\breadboard\avr\配下にboards.txt等(他のファイルもセットで)置くパターンもあります。

この方法だと、たしかに「ATmega328 on a breadboard (8 MHz internal clock)」は表示されるのですが、

書込装置が選べなくなるようです。(不具合?仕様?自分の書き方が悪い?)

ですので、「C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt」に追加する形をとりました。

ただ、こちらもデメリットがありそうで、たぶんArduino IDEのバージョンアップの際に上書きされてしまうんじゃないかな~と思います。

なので、バージョンアップの後使えなくなったら、再度書き加えてあげる必要があるかなと思います。この辺は推測ですいません。

知見ある方は教えていただけると幸いです。

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

-Arduino/ATMega328P