著者:根岸孝次
ロボカップジュニアに参加する上で有用なマイコンボードをまとめて置きました。ロボカップだけでなく、マイコンが必要となるプロジェクトを行う際には、参考にしてください。
マイコンは、プロジェクトの「頭脳」にあたる部分で、デバイスやセンサーの操作、データ処理、通信といった役割を担います。
マイコンには、処理速度、メモリ容量、消費電力など様々な性能の違いがあります。もし目的に合わないマイコンを選ぶと、以下のような問題が発生する可能性があります。
電池で動かすプロジェクト(例えば、携帯用ガジェットやIoTデバイス、ロボット)では、マイコンの消費電力も重要です。消費電力の高いマイコンだと電池の持ちが悪くなり、頻繁に充電や交換が必要になるかもしれません。
例えば、Teensy4.0/4.1を600Mhzで駆動させると100mA程度必要とするようです。マイコンのくせに電力を食いすぎです。無闇矢鱈に高性能マイコンを採用することはしてはいけません。
プロジェクトに必要な機能がマイコンに搭載されているかも、選択時のポイントです。
これまでに使ってきて使い勝手の良かったマイコンを独断と偏見でまとめたので参考にしてください。一般的な Raspberry Pi はマイコンではなくシングルボードコンピュータなのでここでは扱いません。(Raspberry Pi Pico はマイコンです。)
| 名称 | 長所 | 短所 |
| —————— | ——————————————————————————————————– | ——————————————————————————— |
| Arduino 純正品/互換品 | Arduino界でスタンダードボードだから多くのサンプルコードがこれを前提に書かれている | 性能が低いし高い
通信インターフェースやPWMが貧弱 |
| Seeeduino XIAO系 | 中国メーカー
XIAO(小)という名前の通りめちゃくちゃ小さい
性能が比較的高く安い
かわいい | 小さいのでピンが足りなくなる時がある |
| ESP32 系 | 中国メーカー
2番目にメジャー
Wi-FiやBluetoothに強い
性能が高い
物によってはカメラを扱える
安い | ハード的にはもはやArduinoでは無いので場合によってはプログラムに曲がある
個人的に嫌い
コンパイルが遅い |
| STM32 系 | 産業用マイコンでは超メジャー
HALというAPIライブラリを利用することで細かい設定や高度な機能を実現できる
ラインナップが超多い
ローエンドモデルからハイエンドモデルまで幅広いラインナップ | 初心者向けではないので難しい
ボードを自作しないで既製品を購入すると安くはないかも
Aliexpressで偽物マイコンが出回っているが意外と動くみたい |
| Teensy | 数年前から有名になりだした超高性能マイコン
性能は圧倒的
通信インターフェースの数やPWM対応ピンの数が異次元 | 高すぎ
これを使うのは何も考えないで高性能なものを使っている人感がすごいので個人的に好きではない |
| Raspberry Pi Pico | 性能が比較的高くて安い
PIOが便利
なんかかわいい | アナログ入力が弱い
新興勢力 |
| OpenMV | カメラが扱える
画像のデータを扱った様々な処理ができる
| MicroPythonで書かなくてはならない
高い |
特徴 | Arduino 純正品/互換品 | Seeeduino XIAO | ESP32 | STM32 | Teensy | Raspberry Pi Pico | OpneMV |
---|---|---|---|---|---|---|---|
性能 | ~16MHz | 48~240MHz | 10~240 MHz | 32~500MHz | 600MHz | 133~150Mhz | 600Mhz |
IO数 | ○ | △ | ○ | ○ | ○ | ○ | - |
PWM | △ ~ ○ | ○ | ○ | ○ | ○ | ○ | - |
ADC | △ ~ ○ | △ | ○ | ○ | ○ | △ | - |
UART | △ ~ ○ | △ | △ | ○ | ○ | ○ | ○ |
電圧 | 5V | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
価格 | ¥3000~6000 | ¥1000~3000 | ¥1000~3000 | ¥500~5000 | ¥6000~8000 | ¥~1000 | $80~ |
センサーからデータを収集して簡単な計算をし、UARTなどでデータを転送する程度の負荷の場合
計算量が多い(特に浮動小数点)場合にはコアのクロックが高いモデルが必要になります。また、ロボットのメインマイコンのような複数のマイコンと通信してデータを集約して処理を行うような場合には通信インターフェースが強くなくてはなりません。
Wi-FiやBluetoothを使えるデバイスは限られています。一概にBluetoothと言ってもBluetooth ClassicとBluetooth LEという2種類が存在します。後者は最近Arduino界に現れた曲者で使いづらいのでおすすめしません。小型なBluetooth対応マイコンは基本的にBluetooth LE対応なので注意が必要です。
カメラが利用できるマイコンは限られています。