第二十二項 Arduino以外のマイコンボード

第二十二項 Arduino以外のマイコンボード

電子工作創作表現(2019/12/13)

スライドPDF

お知らせ

  • Ginza Sony Parkでの展示「Affinity in Autonomy」
     
  • 音響作品(SSVR)、デバイス系の展示などが色々あります
https://www.sonydesign.com/ja/Affinity_in_Autonomy/

Arduino以外のマイコンボード

  • Arduino以前は高価で複雑な物が多かった
     
  • Arduino以降様々な互換ボードや、近い思想の製品が開発される
今までの講義は、Arduino UNOをベースとした電子部品の使い方についてしていました。初心者でも扱いやすいマイコンボードというと、Arduino以前は値段も高く使いづらい物が多かったのですが、2000年代に訪れたArduinoの登場が一つのブレイクスルーになっていると言えます。
今回はそのArduino以降生まれた様々なハードウェアについて、特徴等を解説していきたいと思います。

Arduinoとの違い

  • Arduinoには無い特別な機能(Wi-Fi, 高速)
     
  • 要素を削って更に安くした製品
Arduinoは簡単に扱うということを基本的な目標としているので、デフォルトではあくまでベーシックで最低限の機能のみが使えるようになっています。その機能の範疇からはみ出て、ある用途に特化したりコストパフォーマンスを上げたりしたものが色々開発されていました。
Arduino同様長く使われ続けている物もあるのですが、中にはすぐ開発が終了してしまって手に入らなくなってしまうような物もあります。
単純に人気・有名な物や大手メーカーが開発しているものは長く続く傾向があるので、そういった物を学ぶと長く使えるノウハウとして有用です。以前紹介したESPシリーズもこの範疇に入ります。
個人やクラウドファンディングで開発されたものは開発や製造がすぐに終了してしまったりするので、単発作品で使う分には便利ですが、長く付き合おうという時には少し慎重になる必要があるでしょう。

マイコンボードとSBC

  • 一つのチップで一つのプログラムが動くのが「マイコンボード」
     
  • パソコンに近い機能を持つのが「シングルボードコンピュータ」
今日紹介するものは、大きく分けて二種類あります。まず一つ目がArduinoと近い部類で、専用のICに一つのプログラムを書き込んで実行する「マイコンボード」と呼ばれるもの。小さくシンプルで安いという特徴があります。

もう一つがマイコンよりも高性能なチップ(SoCなど)を使って殆どPCのように扱うことができる「シングルボードコンピュータ」です。

こちらはLinuxベースで動く物が多いため、ProcessingやOpenframeworks、Puredataなど、マルチプラットフォームで軽量なソフトウェアは動かすことができますが、TouchdesignerやMAX/MSPあたりを動かそうとすると難しいかもしれません。

マイコンボード1:Mbed

  • IDEがヴラウザベースなので、ネット環境があれば自分のPCも不要
     
  • Arduinoよりも全体的に高スペック(48MHz/96MHz)
MbedはARM社が作ったマイコンボードで、Arduinoよりも高速で開発環境がクラウドベースという特徴があります。
アカウントを作ってその中で開発するので、インターネットがある環境であれば開発環境をインストールせずにどこでも開発できるという特徴があります。

マイコンボード2:Nucleo

  • Mbedベースで更に高機能なモデル(48MHz~216MHz)
     
  • マイクロマウス等でも使われ信頼性が高い
NucleoはMbedの環境で開発ができるSTMicro社のボードです。種類が非常に豊富なので、目的に合った無駄のないボードを選定しやすくなっています。
クロックも48MHz~200MHz近くまで幅広い選択肢があります。

マイコンボード3:Teensy

  • Mbedよりも更にハイスペック(400MHzなど)

  • この高スペックだが相当薄く小さめ

Arduinoよりも全体的に高速なMbed系デバイスですが、Arduino互換でクロックが早い物もあります。Teensyは600MHzとマイコンボードの中ではかなり高速なCPUを積んでいて、しかも殆どが面実装部品で構成されているため小型化がしやすいというメリットがあります。
バーサライタ(参考https://homemadegarbage.com/teensy4)のようにLEDを高速に切り替えたりするような用途に向いているでしょう。

シングルボードコンピュータとは

  • 通常のGPIOに加えて、HDMIやUSBなど普通のPC的要素が載っている
     
  • LinuxやWindowsなどのOSが搭載
続いてシングルボードコンピュータです。SBCはマイコンボードのようにデジタル入出力があるのに加え、USBやHDMIなど通常のPCで使うようなポートを備えている事が多いです。ソフトウェアについても、LinuxやWindowsのような通常のOSが動いていて、その中でプログラムを書いて動作させるという方法が主です。

シングルボード1:Raspberry pi

  • Linux系OSやIoT用のWindowsが動作する
     
  • 初心者向けSBCの中で最もポピュラー
Raspberry piはシングルボードコンピュータの中でもっともポピュラーと言って良いでしょう。全体的に中~上級者向けですが、Raspberry piは初学者、特に小中学生でも扱えるようにドキュメントや専用OSを充実させているのでとても入手も操作も簡単になっています。
4~5000円で買える通常のシリーズの他に、要素を削ぎ落して500円で買えるようにしたRaspberry pi Zeroというモデルがあります。

シングルボード2:Latte Panda

  • 通常のWindowsが動作する
     
  • Arduinoクローンが載っているので、Arduinoスケッチもそのまま動作する
シングルボードはLinuxが動く物が多いですが、そんな中でWindowsに対応しているのがこのLattePandaです。ちょっと変わって構成で、Windowsが動作するICとArduinoが動作するICがあります。そのためWindowsで映像や音響を鳴らしながらArduinoスケッチを並列で実行するという使い方をすることができます。

シングルボード3:Jetson

  • NVidiaが開発しており、GPUが強力(機械学習向け)
     
  • グラフィックが比較的強い
Jetsonは機械学習に特化したSBCです。GPU大手のNVIDIAが開発していて、他のボードに比べグラフィックが強いので、映像送出デバイスとして使えるでしょう。

シングルボード4:BeagleBoneBlack

  • ポート数が抑えめな分コンパクト
     
  • 低レイテンシー拡張「BELA」が使える
テキサスインスツルメンツのBeagleBoneBlackは、ポートがUSBやイーサネットのみと必要最低限に抑えられている分、他のボードに比べ幾分かコンパクトになっています。
BELAという超低レイテンシーのオーディオ拡張ボードを使えるので、電子楽器デバイスなどを作りたい時にとても向いています。

BELA:https://www.youtube.com/watch?v=Os2ljj1cIog