(Arduino) Pro Micro

(Arduino) Pro Micro に関する記事です。



(Arduino) Pro Micro

(Arduino) Pro Micro は...

ボードサイズ 普通 小さい
書き込み装置 あり なし あり なし
ATMega328P Arduino Uno Arduino Pro Arduino Nano Arduino Pro Mini
Arduino Mini (05)
ATMega32U4 Arduino Leonardo Arduino Leonardo
(ピンソケット無し)
Arduino Micro
Da Vinci 32U*1
Pro Micro*2

*1 Strawberry Linux 社の製品で正式な Arduino ではない。    *2 SparkFun 社の製品で正式な Arduino ではない。

簡単に言えば Arduino Pro Mini の Leonardo 版です。基板のサイズも Pro Mini と同じです。但し、この製品は Arduino 互換ではありますが Arduino ではありません。製造は SparkFun です。

ATMega32U4 搭載製品は USB<->シリアル機能が内蔵されていますので、便宜上 "書き込み装置なし" の所に区分したものでも、別途書き込み装置は必要ありません。

See Also:


購入

Pro Micro は 5V / 16MHz 動作のものと 3.3V / 8MHz 動作のものがあります。

[5V / 16MHz]

[3.3V / 8MHz]

私が購入したのはコピー品で1つ 500 円くらいでした。この製品は ATmega32U4 を搭載しているので USB<->シリアルチップの偽造品 (海賊版) 問題に悩まされることはありません。


各部詳細

製品にはピンヘッダが付属していました。ブレッドボードに挿して実験できるようにするため、ブレッドボードに挿す側のピンヘッダは秋月の細ピンヘッダを使いました。

よく似た製品があるので比較してみました。

製品 サイズ 電源 USB コネクタ ICSP RESET 実装 正規品価格 備考
Pro Micro 33x18mm 5V / 3.3V Micro USB なし なし 片面 ¥2,492 D11, D12, D13, A4, A5 が使えない
Itsy Bitsy 32u4 36x18mm 5V / 3.3V Micro USB なし あり 片面 ¥1,501
Da Vinci 32U 41x18mm 5V Mini USB あり あり 片面 ¥1,620 Arduino Micro 化が可能
Arduino Micro 48x18mm 5V Micro USB あり あり 両面 ¥2,700

この Pro Micro は小さくていいのですが、足が二本しか出ていない表面実装用の Micro USB コネクタなので抜き差しに弱いです...もげます。何かに組み込んで使い、かつ頻繁にケーブルを抜き差しする可能性があるのでしたらエポキシ接着剤等で固めておいたほうがいいでしょう。

3.3V 製品が 8MHz なのは ATmega32U4 の仕様によるものなので、3.3V 製品で 16MHz のものを探しても見つからないと思います。以下データシートの記述を転載します。

29.6. Maximum speed vs. VCC
Maximum frequency is depending on VCC. As shown in Figure 29-2 on page 386, the Maximum Frequency vs.
VCC curve is linear between 2.7V < VCC < 5.5V.

表面にある J1 ですが、5V 製品は本来ハンダブリッジしてあると思います。J1 をショートすると 出力用のレギュレータがバイパスされます

では 3.3V / 8MHz 製品の J1 をハンダブリッジすれば 5V / 16MHz として動作するのかというとそうではなく、5V / 8MHz (外部クロック) として動作します。何故ならば、8MHz の水晶が取り付けられているからです。逆に 5V / 16MHz 製品の J1 のハンダブリッジを外せば 3.3V / 8MHz として動作するのかというとそうでもありません。何故ならば、16MHz の水晶が取り付けられているからです (レギュレータも 5V のものが取り付けられている可能性あり)。内部発振 8MHz を使えない事もないでしょうが、ブートローダーを自前で作る必要がありそうです。

コピー品の場合、この J1 がオープンでも 5V /16MHz 製品だったりするので、むやみに J1 をいじったりせず定格で使うのが良さそうです。

See Also:



セットアップ

普通の使い方は...

  1. [ファイル | 環境設定] で "追加のボードマネージャの URL" に以下の URL を追加。
    https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
  2. [ツール | ボード | ボードマネーシャ]
  3. SparkFun AVR Boards を探してインストール

設定が終わったら、Arduino IDE でボードを "SparkFun Pro Micro"、プロセッサで適切な電圧を選べば OK です。


変わった使い方

MCU さえ合っていればスケッチの転送はできるので、例えば 5V / 3.3V いずれでも "Arduino Leonardo" を選んでスケッチをコンパイル&転送する事も可能です...つまり、上記手順は必ずしもを行わなくていいという事です。

しかしながら、3.3V 版でこの方法を行うと2回目のスケッチ転送に失敗し、2度とマトモに転送できなくなります...理由は Leonardo の USB ファームも一緒に書き込まれてしまうからです。マトモに転送できなくなるだけで、回避する事は可能です。

  1. リセットスイッチを2回押す (ダブルクリック)
  2. USB<->シリアルポートが 8 秒間出現するのでこの時に Arduino IDE でポートを選択する
  3. スケッチをコンパイルする
  4. スケッチ転送のタイミングで、再度リセットスイッチを2回押す (ダブルクリック)

Web を彷徨ってみると、どうやら 5V 版でも起き得る現象のようなので Pro Micro を使う際にはリセットスイッチを必ず実装しましょう。

See Also:


Arduino 化?

Arduino UNO をお持ちであれば、ブートローダーを書き込んで Arduino 化する事もできます (USBasp でもできます)。

以下が実際のブートローダーの書き込み手順です。

  1. Arduino UNO と Pro Micro を接続します。
    UNO Pro Micro
    GND GND
    10 RST
    5V VCC
    13 (SCLK) 15 (SCLK)
    12 (MISO) 14 (MISO)
    11 (MOSI) 16 (MOSI)
    ケーブルの色は 共立エレショップの AVRWRT 用ブレッドボード ISP ケーブルに準拠しています。
  2. Arduino UNO を PC と USB 接続し、ボードを Arduino UNO、ポートを認識されている COM 番号に合わせます。
  3. Arduino UNO をブートローダ書込装置 (In-System Programmer / In-Circuit Serial Programmer) にするためにスケッチを開きます。[ファイル | スケッチの例 | ArduinoISP] が書込装置にするためのスケッチです。
  4. Arduino UNO にスケッチを書き込みます。
  5. [ツール | ボード] でボードを "目的の Arduino" に変更します。
  6. [ツール | 書込装置] で書込装置の種類を Arduino as ISP に変更します。
  7. [ツール | ブートローダーを書き込む] で "目的の Arduino" 用のブートローダーを書き込みます。

    書き込み中には Arduino UNO の (TX / RX) LED が点滅を繰り返します。
  8. 書き込みが完了したら Arduino UNO と Pro Micro の接続を外し、今度は USB で Pro Micro と PC を接続します。
  9. ブートローダーが正しく書き込まれていれば、Arduino として認識されます。

正直、Arduino として動作させるメリットはあまりないように思います。

See Also:


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

メニュー: