Arduino マイコンボードの選び方
こんにちは、高木です。
今日は久々に技術的な話題を取り上げることにします。
といっても、あまり難しい話をしてもウケが悪いので、比較的ぬるめのテーマにしたいと思います。
テーマは、これまでにも何度か取り上げたことがあるArduinoです。
Arduinoというのは、簡単にいえばマイコンボードとその開発環境のことです。
ハードウェア技術者でなくても手軽に電子工作を楽しむことができますし、ソフトウェア技術者でなくても手軽にプログラミングを楽しむことができます。
ホビー用途はもちろん、試作や実験、一点ものの手作りなどであれば、仕事で使うことも十分可能です。
便利で楽しいArduinoですが、いろいろなマイコンボードが販売されています。
いろいろありすぎて、最初はどれを選べばよいのか迷ってしまいますね。
特殊な用途のものは別として、マイコンボードを選定する場合は次の項目を考慮すればよいでしょう。
・マイコンは何を使うのか?
・I/Oポートの電圧は5Vか3.3Vか?
・シールドを使うのかどうか?
・マイコンボードのサイズをどうするか?
これらの項目は完全に独立しているわけではありません。
たとえば、32ビットマイコンであるARMのボードを選べば、I/Oボードの電圧は3.3Vしか選択肢がなくなりますし、大多数のシールドも使えなくなります。
マイコンの種類ですが、大きく分けると8ビットマイコンのAVRと、32ビットマイコンのARMがあります。
AVRの方が選択できるマイコンボードの種類は豊富ですが、メモリは非常に小さく、CPUもかなり遅いです。
ARMを選べば多少はメモリが大きく、CPUも早くなりますが、それでも一般的なPCと比べれば比べものにならないぐらい非力です。
より大きなメモリ、高いパフォーマンスが必要であれば、Arduinoではない別の選択をした方がいいでしょう。
I/Oポートの電圧は、AVRの場合は5V、ARMの場合は3.3Vがメインです。
ただし、AVRについては一部3.3Vのボードも提供されています。
電圧が異なる周辺機器を混在させようとすると、レベルコンバーターを使うなどしないといけないので、回路が煩雑になってしまいます。
シールドというのは、Arduinoのマイコンボードに拡張機能を追加するためのボードです。
いろいろな種類のシールドが発売されていますが、そのほとんどは5VのAVR用のものです。
電圧が3.3Vであったり、AVR以外のマイコンであったりする場合は、ほとんどのシールドが使えなくなります。
最後はマイコンボードのサイズですね。
これは一番分かりやすいと思います。
決まったサイズのケースに収める必要がある場合などは、小さなマイコンボードを選ばざるを得ないでしょう。
逆にサイズの制限が緩ければ、高機能な大きなマイコンボードを使うことができるようになります。
実際に販売されているボードについて見ていくことにしましょう。
話を簡単にするために、今回はAVRのマイコンボードだけを紹介することにします。
一番ベーシックなマイコンボードはArduino UNOです。
Arduino UNOの電圧は5Vで、おおむね名刺サイズだと考えてください。
ほとんどのシールドはArduino UNO向けに作られているといっても過言ではありません。
次に、Arduino Leonardoというのがあります。
これはArduino UNOの廉価版のような位置づけですが、そんなに機能は劣りません(値段も大して安くなりません)。
サイズはArduino UNOと同じで、ほとんどのシールドが使えます。
RAMのサイズはArduino UNOは2kバイトでしたが、Leonardoは2.5kバイトで少しだけ増えています。
若干ピン機能が異なったり、タイマー2が使えなかったりするので、UNOと完全な互換性があるわけではありません。
Arduino MEGA 2560というのは、Arduino UNOよりずっと高機能なマイコンボードです。
I/Oポートの数もメモリのサイズもかなり増えています。その分ボードのサイズもかなり大型になっています。
一応、UNO用のシールドの多くが使えるようになっています。
小さなボードが必要な場合は、Arduino NanoやArduino Microがあります。
両者の違いはArduino UNOとArduino Leonardoの違いのようなものです。
実際、それぞれと同じマイコンが使われています。
ボードのサイズが小さくなっていますので、UNOサイズのシールドは(空中配線するのでなければ)使うことができません。
もっと小さいボードが必要な場合は、Arduino Pro Miniというのがあります。
Pro Miniには電圧が5Vのものと3.3Vのものの2種類があるので、必要に応じて選択することができます。
3.3VのボードはCPUのクロックが半分になるため、その分動作が遅くなってしまいます。
USBでPCと接続することもできませんので、別途シリアル・USB変換ボードを外付けしなければなりません。
ざっと主だったマイコンボードを紹介しましたが、実際にはもっと多くの種類があります。
用途に応じていろいろ試してみるといいでしょう。
Arduinoを使った開発のお問い合わせをいただければ、開発内容に適したマイコンボードをご提案させていただきます。