Arduinoを使った電子工作という趣味を始めて1年ほどが経ちました。
これまでArduinoボードは、Arduino UnoやNanoを中心に使ってきました。
I/Oピンが多く必要なテストなどではMegaを使うこともあります。
個人的にはテスト環境で使う場合、Arduino Unoが一番使いやすく正規ボード以外に互換ボードも含めておそらく20台近くは持っていると思います。
その大半は製作物に組み込んでいます。
Arduinoは機能を拡張するためのシールドと呼ばれる拡張ボードが多数あり、それらシールドを使って製作物に組み込む場合Arduino Unoは使いやすくなります。
シールドを1枚使うだけで複数サーボの電源供給が出来たりと便利に使うことが出来ます。
また小型な製作物に組み込む場合、テストではArduino Unoを使い組み込み先には小型なArduino Nanoを使ったりすることもありました。
今回はさらに小型なArduinoボードとなるArduino Pro Miniをご紹介したいと思います。
Arduino Pro Miniは、Arduino Nanoよりさらに小型化されたボードなので組み込みなどに便利に使える場面は多いと思います。
しかし他のArduinoボードと少し仕様が異なる部分があります。
通常のArduinoにはPCと接続しスケッチの書き込み等で使われるUSB-シリアル変換器がボードに搭載されています。
基本的にArduinoは一度スケッチを書き込むと次にスケッチを書き換えるまでこの書き込み装置は必要なくなります。
Arduino Pro Miniではボードを小型化するためにこのUSB-シリアル変換器がカットされています。
製作物などへの組み込みを想定した場合、ボードが小型化しボード価格も安いので有利になることも多いと思います。
今回はArduino Pro Miniを詳しく見ていきたいと思います。
目次
Arduino Pro Miniを使ってみる!
Arduino Pro MiniのマイコンチップにはATmega328Pが使われています。
Arduino Unoと同じチップですね。
そのため、Arduino Unoとほぼ同じ感覚で使えます。
テスト環境ではUnoを使い回路やスケッチを作り、製作物に組み込む際はPro Miniを使いスケッチをそのまま流用するなんて事も出来ます。
そして冒頭でもお話したように、通常ArduinoではPCと接続しスケッチの書き込みなどで使われるUSB-シリアル変換器がArduino Pro Miniでは省かれているのでボードサイズはArduino Nanoよりさらに小型化されています。
このサイズのArduinoボードなので組み込みに便利に使える場面は多いと思います。
Arduino Unoと比較すると非常に小さいですね!
Arduino UnoではATmega16U2ベースのUSB-シリアルコンバーターがボードに付属しているためUSB端子をPCと接続してスケッチの書き込みが出来ますが、Arduino Pro Miniではスケッチの書き込みにはUSB-シリアル変換モジュールを別途用意する必要があります。
Arduino Pro Mini スペック&仕様
まずArduino Pro Miniの簡単なスペック&仕様についてです。
先述のようにUSB-シリアル変換器が搭載されておらず、駆動電圧が5V(16MHz)のものと3.3V(8MHz)の2タイプあります。
Arduino Pro Mini 主な仕様 | |
マイコンチップ | ATmel Atmega328P |
FLASHメモリ | 32KB |
SRAM | 2KB |
EEPROM | 1KB |
動作電圧 | 3.3V/5V |
動作クロック | 8MHz/16MHz |
USBシリアル変換器 | なし |
簡単に言うとArduino Unoの小型版ってところでしょうか。
Arduino UnoからUSB-シリアル変換器(スケッチの書き込み等を行う装置)を省いた小型版Arduinボードですね。
Arduinoはスケッチを一度書き込むと次にスケッチを書き込むまでUSB-シリアル変換器は不要となるため、この部分を省いた小型版Arduino Unoといった感覚で私は使っています。
SparkFun社製のものがオリジナル
Arduino Pro Miniの存在はArduinoを使い始めた頃から知っていたのですが、公式Arduinoサイトにはボード情報が掲載されていないようです。
Arduino はオープンソース・ハードウェアなので詳細なボード情報が公式サイトに公開されています。
上記サイトから各ボードの仕様や構成、回路図などを確認することが出来ますが、Arduino Pro Miniの情報は掲載されていないようです。
どうやらSparkFun社の製品がオリジナルボードとなるようですね。
一応こちらで廃止された製品として記載されてはいるようですが・・・
このあたりあまり詳しい事は分かりませんが、SparkFun社のオリジナルボードに対しその他多数の互換ボードが販売されているという認識でいいのかな?
Arduinoの互換ボードに関してはこれまで多数使ってきましたが、特に不具合等に当たったことはないのであまり気にしていませんが・・・
動作電圧・クロック周波数の違い
Arduino Pro Miniには、5V/16MHz動作のものと3.3V/8MHz動作の2つのタイプがあります。
オリジナルのArduino Pro MiniボードはSparkFun社製のものとなりますが、今回使用しているものはその互換ボードの5V/16MHz動作のボードを使用しています。
Arduino Unoと同じ感覚で使えます。
Arduinoはオープンソース・ハードウェアなので互換ボードが多数販売されています。
他のArduinoボードもほぼ互換ボードを使っていますが性能に関して特に問題になった記憶はありません。
電子工作用途でArduinoを使う場合、安価で入手出来る互換ボードは重宝します。
ピン配列
これまでArduinoボードは、Arduino UnoやMega、Nano、そしてそれらに付加機能が追加された拡張互換ボードを使ってきましたが、ピン配列は正規ボードと同じなので使用には特に意識する必要はありませんでした。
Arduino Pro MiniではSparkfun社のものと他の互換ボードでは少しピン配列が異なる部分があるようです。
ピンの位置が異なる程度なので使用には特に問題にならないと思いますが詳しく見ておきましょう。
こちらは5V/16MHzタイプのArduino Pro Miniのピン詳細図です。
参考 Using the Arduino Pro Mini 3.3VSparkFunI/O関連ピン
まずI/Oピン(入出力ピン)です。
TX/RXを含めD2~13までの計14本のデジタルピンが両サイドに配置されています。
アナログピンはA0~A3さらにA4~A7までありますが、こちらは少し変わった位置に配置されています。
アナログピンA4/A5は、他のArduinoボードと同様にアナログ入力ピン以外にもI2C接続する際のSCL/SDAに使われるピンとなります。
ブレッドボードでArduino Pro Miniを使う場合、A4~A5ピンは挿せないので上向きにピンヘッダーを取り付けて私は使っています。
またA6/A7ピンですが、SparkFun社製のPro Miniでは上記の位置に配置されていますが、私の手元にある互換ボードではこの位置に付いていました。
このあたりオリジナルのボードと少し配置が異なっているようです。
電源関連
次に電源関連の端子です。
Arduino Pro Miniには電源端子として、VCCとRAW端子が用意されています。(GND端子は複数あります)
Pro Miniへの電源供給にはこのVCCとRAW端子が使われます。
まずVCC端子ですが、これはArduino Pro Miniに直接供給される電源端子となります。
マイコンチップATmega328Pに直接接続されているので、例えば今回使用しているArduino Pro Miniでは5V駆動タイプのものを使っているので、外部から安定した5V電圧を供給出来る場合はこの端子を使います。(3.3Vタイプのものでは安定した3.3Vを供給出来る場合に使用)
次にRAW端子です。
この端子はArduino UnoでいうVin端子のようなものです。
ボード上のレギュレーターに接続されているので、上記のように安定した5V(または3.3V)を供給出来ない場合はこの端子を使います。
入力電圧の範囲は3.3V~12Vとなっています。
3.3V駆動タイプのPro Miniでは3.3V以上、5V駆動タイプでは5V以上の電圧を印加することによりレギュレーターを通して安定した駆動電圧5V(または3.3V)をマイコンチップに供給する事が出来ます。
Arduino Pro Miniへの電源供給方法はこの2通りになります。(下記シリアル接続部分にもVCC端子があります)
RAW端子に印加された電圧をレギュレーターを通してPro Miniの駆動電圧となる5V(または3.3V)を作り出しマイコンチップATmega328Pに供給する形となるので、例えば使っているPro Miniが何V駆動タイプか分からない場合、RAW端子に5V以上の電圧(~12Vまでの範囲で)を印加し、VCC端子の電圧を計測しその端子電圧が3.3Vか5Vかで5V/16MHzタイプなのか3.3V/8MHzタイプなのかを確認することが出来ますね!
USB-シリアル変換モジュール接続部分
Arduino UnoではUSB-シリアル変換器としてATmega16U2というマイコンチップがボードに搭載されていました。
Arduino Pro Miniでは小型化するためにこのUSB-シリアル変換器が搭載されていません。
そのためPCと接続しスケッチの書き込みを行う場合、USB-シリアル変換モジュールを別途用意する必要があります。
その接続で使用するピンがこちらとなります。
6ピンありますが、この配置もSparkFun社製のものと互換ボードでは配置が異なっていました。(反転しているだけです)
SparkFun社製のものは、BLK/GND/VCC/RXI/TXO/GRNという順になっています。
対して互換ボードでは、DTR/TXO/RXI/VCC/GND/GNDとなっています。
ピンの表記名が異なりますが機能は同じとなり、ピン配列は単に順序が反転しているだけなので特に問題はないと思います。
接続方法に関しては後述します。
ピン名称 | 役割 |
BLK(GND) | Blank端子。役割がない端子でGNDに接続 |
GND | GND |
VCC | 電源(5V or 3.3V) |
RXI | データ受信用端子 |
TXO | データ送信用端子 |
GRN(DTR) | リセットピンに接続されています |
ピンヘッダーの取り付け
Arduino Pro MiniにはピンヘッダーとL字型のピンヘッダーが付属していました。
全てのピンはスルーホールとなっています。
組み込みなどで使用する場合はワイヤーを直接はんだ付けする場合もあるかと思います。
今回はブレッドボードでテスト出来るようにピンヘッダーを取り付けました。
L字型ピンヘッダーはUSB-シリアル変換器との接続用、ストレートタイプはI/Oピンに接続する感じですね。
あとA4/A5やA6/A7ピンはブレッドボードに挿せないので上向きにピンヘッダーを取り付けました。(スルーホールなのでテストワイヤーを使うのもいいですね)
ブレッドボードでテスト等で使用する場合はこのような接続が使いやすいかと思います。
USB-シリアル変換モジュールの接続
I/Oピンや電源端子を見ていきました。
電源の供給方法が少しArduino Unoと違う以外はほぼ同じ感覚で使えます。
そして先述のようにArduino Pro MiniにはPCと接続しスケッチを書き込む際に必要となるUSB-シリアル変換器が搭載されていません。
そのためスケッチ書き込みの際はUSB-シリアル変換器を別途用意して接続する必要があります。
リセット信号を送信するDTRピンが付いたものならArduino Unoなどと同様に手動リセットなどせずにスケッチの書き込みを行うことが出来ます。
接続は簡単ですが、まずUSB-シリアル変換器(FTDI FT-232)の接続端子を見ておきます。
こちらは秋月電子さんのFT-232RQというUSBシリアル変換モジュールとなります。
接続端子の用途を簡単に見るとこんな感じとなります。
TX/RXを接続する通常のシリアルでのやり取りで使用する信号線と電源(5V/GND)、スケッチ書き込みの際にリセットをかけるDTR(RTS)ピンとなっています。
USB-シリアル変換モジュール | 用途 |
GND | GND |
CTS | GNDレベルで送信可能。常にGNDか未接続でOK |
+5V(VCC) | 電源端子 |
TXD | データ受信用 |
RXD | データ送信用 |
RTS(DTS) | リセット信号を送信 |
ピンの並び順がArduino Pro Mini側と同じなので接続が分かりやすくPro Miniでは使いやすいモジュールです。
Arduino Pro Miniとの接続はこのようになります。
USB-シリアル変換モジュール | Arduino Pro Mini |
GND | BLK(GND) |
CTS | GND |
+5V(VCC) | VCC |
TXD | RXI |
RXD | TXO |
RTS(DTR) | GRN(DTR) |
互換Arduino Pro Miniボードではこのように接続します。
端子の並び順が同じなので接続が簡単です。
SparkFun社製のオリジナルボードで使用したい場合は、ピン配列が反転しているのでモジュールの接続を反転するだけで使えますね。
また、Amazonでも入手しやすいこちらのFTDI-FT232RLモジュールでもピン配列が同じなので上記のように同様に使うことが出来ます。
このあたりのUSB-シリアル変換用のモジュールを1つ持っておくと、Arduino Pro Miniのスケッチ書き込みの際に便利だと思います。
【追記】Arduino UnoやNanoを使ってスケッチを書き込む方法!
Arduino Pro Miniのスケッチの書き込みにはUSB-シリアル変換モジュールを使った方法が一番手軽でシンプルなんですが、他のArduinoボードを使ってスケッチを書き込むことも出来ます。
あわせてこちらの記事も読んで頂ければと思います!
スケッチの書き込み
USB-シリアル変換モジュールとの接続が出来たらスケッチの書き込みは通常通りに行えます。
その際のボード情報を見ておきます。
Arduino IDEの[ツール]から[ボード]と[プロセッサ]の項目をPro Mini用に変更してスケッチの書き込みを行います。
ちなみに今回は5V/16MHz動作タイプのPro Miniを使っているので以下の設定となります。
項目 | 設定内容 |
ボード | Arduino Pro or Pro Mini |
プロセッサ | ATmega328P(5V,16MHz) |
製作例
Arduinoでは一度スケッチを書き込むと次にスケッチを書き直すまで基本的にUSB-シリアル変換器は不要となります。
Arduino Pro Miniでは、このUSB-シリアル変換器がカットされているため非常に小型なボードとなっています。
スケッチ書き込みの際にモジュールと接続する必要がありますが、製作物などへの組み込みには小型なボードなので重宝する場面は多いと思います。
最後に簡単な作例をご紹介しておきます。
こちらはハーフサイズのブレッドボードにテスト回路を組んでみました。
このサイズにArduino・マトリクスLED・加速度センサーを組み込むことが出来ました。
Arduino Nanoでは2列分足りなくなる構成です。
動作テストの段階ではArduino Unoで組んでいましたが、このように組み込み以外にもスペースを抑える事が出来るので便利に使えますね!
スケッチの書き込みの際にUSB-シリアル変換モジュールを接続しないといけない事以外はほぼUnoと同じ感覚で使えます。
また、こちらは以前Arduino Unoで試作したものです。
Pro Miniを使えばボディー内にArduinoや電池を組み込み、このサイズ感で作れるなぁーなんて考えながらこのブログ記事を書いておりました。
この投稿をInstagramで見る
【追記】手乗りサイズの自作ミニラジコンを作るのに使ってみました!
Arduino Pro miniを使い自作ラジコンを作ってみました。
Wi-FiモジュールESP-01(ESP8266)を使いスマホから操作できるシンプルなラジコンで、5V駆動のArduino Pro miniを使いました。
レギュレータで電圧を落としESP-01を駆動しています。
製作中に気付いたのですが、Arduino Pro miniには3.3V駆動タイプのボードもあるのでこれを使えばレギュレータを入れる必要もなかったわけで・・・
3.3V駆動できるArduinoボードはあまりなく、Arduino Pro MiniとESP系のモジュールとは相性が良さそうですね!
ボードサイズも小さいので、このような製作物に組み込むのにも便利に使えます。
最後に!
USB-シリアル変換器をカットする事により小型なボードになっているArduino Pro Miniは製作物などへの組み込みに便利に使える場面は多いと思います。
しかし当然ですがUnoやMegaなどで使えた便利なシールドが直接接続出来なくなってしまいます。
様々なボードが用意されているArduinoなので、その使用用途により使い分けるといった感じでしょうかね。
今回使った互換ボードは半年ほど前にAmazonで購入したもので、確か1個単価4~500円程度でした。
最近では半導体の価格高騰により互換ボードでも価格が上がっちゃっているのが少し残念ではあります。(それでも他のボードよりは安価なんですが)
オリジナルのSparkFun製のものは、スイッチサイエンスさんでも扱われているようですが・・・私の場合は特にオリジナルにこだわる必要もなく安価な互換ボードでも遜色なく使えるので電子工作用途では重宝しています!
[…] 【Arduino】Arduino Pro Miniを使ってみる。小型で電子工作用途の組み込みに便利に使えそうですね! […]