ATMEGA328P を Arduino として使う

ATMEGA328P を Arduino として使うための記事です。



購入

どこでも購入できます。



ピンアウト

ATMEGA328P のピンアウトは以下のようになっています。

See Also:



基本的な配線

ATMEGA328P を Arduino として使うためには以下のような配線になります。ブートローダー書込 / スケッチ書込/ 単体実行に対応した配線です。

必要なパーツは以下の通りです。

タクトスイッチは単体実行時のリセットスイッチとなります。4つ足のタクトスイッチを使った配線はこのようになります。

See Also:



ブートローダーを書き込む

Arduino UNO を使ってブートローダーを書き込みます。配線は基本配線に Arduino から伸びる 6 本の線を追加しただけとなります (まんま ICSP な訳ですが...)。

  1. 配線はまだ行わない
  2. Arduino IDE で [ファイル | スケッチの例 | ArduinoISP]
  3. スケッチをコンパイル&転送
  4. 配線を行う
    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)
  5. [ツール | ボード] で Arduino UNO を選択
  6. [ツール | 書き込み装置] で Arduino as ISP を選択
  7. [ツール |ブートローダを書き込む] でブートローダーを書き込む

ブートローダーは AVR ISP シールドを使って書き込むのが簡単なのですが、ATMEGA328P を Arduino として使うには結局似たような配線をしなくてはなりませんから...どうなんでしょうね?

See Also:



スケッチを書き込む

[マイコンボードに書き込み] ボタンを使わない方法でいいのであれば、配線はブートローダー書き込みのままでいいです。スケッチは [スケッチ | 書き込み装置を使って書き込む] で転送できます。

通常の 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チカスケッチを書き込んでみてください。

See Also:



Blink (単体実行でのLチカ)

スケッチを書き込めたら、電源を繋いでテストしてみましょう。単体動作させるための配線は基本配線に電源を繋ぐだけです。下の画像では L チカ ([ファイル | スケッチの例 | 01 Basics | Blink]) のための配線が少し追加されています。

19番ピンが Arduino で言う デジタル 13 ピン なので、ここへ LED を繋いでいます。乾電池 4 本 (6V) でも動くとは思いますが、ブレッドボード用の電源があると便利ですね。

See Also:



Arduino っぽいの (Ardupoino)

何度もブレッドボードで回路を作るのは面倒なのでユニバーサル基板上に構築してみました。

ブートローダーは ICSP ピンヘッダを使って書き込めます (参考)。スケッチは左下のピンソケットで書き込めます。電源をつないでLチカをやってみました。

この Ardupoino は Arduino UNO の一部分だけを実装したものとなります。下の図は Ardupoino の実装範囲です。

UNO の回路図との主な違いは以下の通りです。

工作上の注意点ですが...

いずれも P カッターで筋を入れてから折るのがいいと思います。

See Also:


ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: