(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 のものを探しても見つからないと思います。以下データシートの記述を転載します。
|
表面にある 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:
普通の使い方は...
|
設定が終わったら、Arduino IDE でボードを "SparkFun Pro Micro"、プロセッサで適切な電圧を選べば OK です。
MCU さえ合っていればスケッチの転送はできるので、例えば 5V / 3.3V いずれでも "Arduino Leonardo" を選んでスケッチをコンパイル&転送する事も可能です...つまり、上記手順は必ずしもを行わなくていいという事です。
しかしながら、3.3V 版でこの方法を行うと2回目のスケッチ転送に失敗し、2度とマトモに転送できなくなります...理由は Leonardo の USB ファームも一緒に書き込まれてしまうからです。マトモに転送できなくなるだけで、回避する事は可能です。
Web を彷徨ってみると、どうやら 5V 版でも起き得る現象のようなので Pro Micro を使う際にはリセットスイッチを必ず実装しましょう。
See Also:
Arduino UNO をお持ちであれば、ブートローダーを書き込んで Arduino 化する事もできます (USBasp でもできます)。
以下が実際のブートローダーの書き込み手順です。
UNO | Pro Micro |
GND | GND |
10 | RST |
5V | VCC |
13 (SCLK) | 15 (SCLK) |
12 (MISO) | 14 (MISO) |
11 (MOSI) | 16 (MOSI) |
正直、Arduino として動作させるメリットはあまりないように思います。
See Also:
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。