パソコン・スマホ備忘録

パソコン、スマホ、マイコン、家電などの備忘録と日記。使えるところを簡潔に解説!

Arduino

ATmega328Pを取り外して内部クロック8MHzの単独で動作させる。

2019/07/25

ATmega328Pを内部クロック8MHzにして単独で動作させてみました。
これでクリスタルによる発振部分を無くすことができ、3V程度でも動作するようになります。方法は下記のとおりです。

  1. 「ArduinoToBreadboard」サイト からペbreadboard*.zip, をダウンロードする。(*は使っている IDE環境に合わせる)解凍したファイルをDocumentsArduinohardwareに置く。
  2. Arduino IDE で「ファイル>ケッチの例>ArduioISP」でスケッチを開く。「ツール>マイコンボード>Arduino /Genuino UNO」を選択。
  3. 「ツール>書込装置>Arduino as ISP」を選択してArduino Unoに書き込む。
  4. 一旦USBケーブルを外し、「Arduino Uno用ブートローダライタシールドの製作」で作ったシールドに内部クロック8MHzにしたいATmega328P取り付け、UNOに乗せる。(※)
  5. 再びUSBケーブルを接続し「ツール>マイコンボード>ATmega328 on a breadboard (8 MHz internal clock) 」を選択
  6. 「ツール>ブートローダを書き込む」

※、Arduino Uno用ブートローダライタシールドがない場合にはブレッドボードで以下のように結線します。

Arduino Uno ATmega328 備考
5V 7  
5V 20  
GND 8  
GND 22  
RESET   10uFのコンデンサーを介してGNDに接続
10 1 RESET
11 17 MOSI
12 18 MISO 
13 19 SCK

これでATmega328Pが内部クロック8MHzで動くようになります。

内部クロック8MHzで動くようになったATmega328Pは以下の様な結線で直接スケッチを
Arduino Unoから書き込むことができます。この時Arduino Unoは単にUSBシリアル変換のために使うのでArduino Uno上のATmega328Pは外しておきます。

Arduino Uno ATmega328 備考
RESET 1  
5V 7  
5V 20  
GND 8  
GND 22  
0 2 RX
1 3 TX

USBケーブルを接続し「ツール>マイコンボード>ATmega328 on a breadboard (8 MHz internal clock) 」を選択してから、スケッチを書き込みます。

ボタン電池で稼働

内部クロック8MHzで動かすとスピードは遅くなりますが、3V程度で動き消費電力が少なくなるというメリットがあります。

-Arduino