(Arduino) Pro Micro

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



(Arduino) Pro Micro

(Arduino) Pro Micro は...説明するのが面倒ですね。

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

*1 デイスコン    *2 Arduino.cc でデイスコン    *3 SparkFun 社の製品で正式な Arduino ではない。

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

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

See Also:


購入

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

[5V / 16MHz]

[3.3V / 8MHz]

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


各部詳細

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

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

製品 サイズ 電源 USB コネクタ ICSP 正規品価格 備考
Pro Micro 33x18mm 5V / 3.3V Micro USB なし ¥2,492 D11, D12, D13 が使えない
Da Vinci 32U 41x18mm 5V Mini USB あり ¥1,500 + 税 Arduino Micro 化が可能
Arduino Micro 48x18mm 5V Micro USB あり ¥2,800

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 化する事もできます。

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

  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:


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

メニュー: