ATMEGA328P を Arduino として使うための記事です。
どこでも購入できます。
ATMEGA328P のピンアウトは以下のようになっています。
ATMEGA328P を Arduino として使うためには以下のような配線になります。ブートローダー書込 / スケッチ書込/ 単体実行に対応した配線です。
必要なパーツは以下の通りです。
タクトスイッチは単体実行時のリセットスイッチとなります。4つ足のタクトスイッチを使った配線はこのようになります。
Arduino UNO を使ってブートローダーを書き込みます。配線は基本配線に Arduino から伸びる 6 本の線を追加しただけとなります (まんま ICSP な訳ですが...)。
Arduino UNO | ATMEGA328P |
#10 (SS) | 1 RESET |
5V | 7 VCC |
GND | 8 GND |
#11 (MOSI) | 17 MOSI |
12 (MISO) | 18 (MISO) |
13 (SCK) | 19 (SCK) |
ブートローダーは AVR ISP シールドを使って書き込むのが簡単なのですが、ATMEGA328P を Arduino として使うには結局似たような配線をしなくてはなりませんから...どうなんでしょうね?
[マイコンボードに書き込み] ボタンを使わない方法でいいのであれば、配線はブートローダー書き込みのままでいいです。スケッチは [スケッチ | 書き込み装置を使って書き込む] で転送できます。
通常の Arduino のように [マイコンボードに書き込み] ボタンを使ってスケッチを書き込むための配線は以下のようになります。
基本配線に Arduino から伸びる 5 本の線を追加しただけです。リセット信号 (青い線) の配線がブートローダー書き込みの時とはちょっとだけ違うのでご注意!
Arduino UNO に刺さっている ATMEGA328P を抜き、Arduino を単なる USB<->シリアル変換 として使うのがミソです。
Arduino UNO | ATMEGA328P |
RESET | 1 RESET |
0 (RXD) | 2 RXD |
1 (TXD) | 3 TXD |
5V | 7 VCC |
GND | 8 GND |
しかしながら IC ソケットに入っていない ATMEGA328P (フラットパッケージ) を使っている Arduino 互換機ではこの手法は使えませんし、ATMEGA328P を抜くのだったら、そこへブートローダーを書き込んだ別の ATMEGA328P を挿してスケッチを書き込んだ方が手っ取り早いような?
私は ATMEGA328P が取り外し可能なタイプの Arduino UNO を持っていませんので、秋月の FT232RL USBシリアル変換モジュール (AE-UM232R) を使ってスケッチを書き込む事にしました。AE-UM232R のピンアウトは以下のようになっています。
左のジャンパー (J1) は 3.3V / 5V 切替で、右のジャンパー (J2) は、ショート時は USB から電源が取られ、オープン時は外部電源が必要となります。
配線はこのようになります。スケッチの書き込みに AE-UM232R を使う場合には RESET に 0.1μF のコンデンサを噛ます必要があります (本当は TXD / RXD にも 1KΩ抵抗を噛ます必要があるのかもしれませんが...)。
AE-UM232R | ATMEGA328P |
2 DTR# | 1 RESET |
1 TXD | 2 RXD |
5 RXD | 3 TXD |
21 VCC | 7 VCC |
24 GND | 8 GND |
別途電源は必要ありません。AE-UM232R からの電力供給で間に合います。スケッチの書き込み方法は Arduino UNO の場合と同じですので特に説明はしません。とりあえずテストとしてLチカスケッチを書き込んでみてください。
スケッチを書き込めたら、電源を繋いでテストしてみましょう。単体動作させるための配線は基本配線に電源を繋ぐだけです。下の画像では L チカ ([ファイル | スケッチの例 | 01 Basics | Blink]) のための配線が少し追加されています。
19番ピンが Arduino で言う デジタル 13 ピン なので、ここへ LED を繋いでいます。乾電池 4 本 (6V) でも動くとは思いますが、ブレッドボード用の電源があると便利ですね。
何度もブレッドボードで回路を作るのは面倒なのでユニバーサル基板上に構築してみました。
ブートローダーは ICSP ピンヘッダを使って書き込めます (参考)。スケッチは左下のピンソケットで書き込めます。電源をつないでLチカをやってみました。
この Ardupoino は Arduino UNO の一部分だけを実装したものとなります。下の図は Ardupoino の実装範囲です。
UNO の回路図との主な違いは以下の通りです。
工作上の注意点ですが...
いずれも P カッターで筋を入れてから折るのがいいと思います。
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。