M5Stackを始めます

今までRaspberry Piでプログラミングしてきましたが、M5Stackも始めることにしました。
M5Stackについては前々から存在を知っていましたが、Raspberry Piで手一杯だったので手を出さずにいました。
しかし最近、製品体系の一つM5Stickの存在を知ってからは興味が湧き、調べるほどに良く出来たマイコンモジュールであることが分かって購入を決意しました。
それでは、M5Stackについて簡単に紹介します。
M5Stackの概要
M5Stackは、液晶パネルが付いたマイコンモジュールです(液晶のないタイプもある)。安価で小型なRaspberry Piとコンセプトが似ていますが、Raspberry Piがパソコンそのものであるのに対して、M5Stackは単独で完結するものではなく、パソコンを母艦として開発します。
そして液晶パネルを搭載することから、Raspbery Piのように別途HDMIディスプレイやキャラクタディスプレイなどの表示器に悩まなくても済みます。また、オプションでリストバンドもあるので、スマートウォッチとしても活用できます(見た目にはあまり良くない)。
さらに私が一番気に入った点は、オプションとして用意されているセンサーなどの拡張機器が実に充実しているところです。Raspberry Piだとセンサーを何にするか悩みますが、M5Stackであれば純正で用意されていて、しかも安く購入できます。
また純正ですから、M5Stackのサイズに合わせて作られたものも多いです。特に私が購入したM5StickCには、本体の端子に被せて使うハットというセンサー類が充実しています。M5StickCであれば、Raspberry Piで諦めていたリスト装着も使えそうです。
M5Stackには、数多くの製品が用意されています。それぞれを紹介しましょう。
M5Stackの種類
M5Stack (Basic/Gray/Faces/Go/Fire)

M5Stackは、コンパクトな筐体に液晶パネル、ボタン、スピーカー、SDカードスロット、Wi-Fi、BlueToothなどが盛り込まれたマイコンモジュールです。作るものによりますが、本体だけで出来ることも多いことから人気を博しています。
また、M5Stack自身にも製品体系があります。基本となるBASICの他に、センサーが増えたGrayと入力デバイスが付属するFaces、Webとの連携でAIスピーカーとしての用途を考えたM5Go、センサーがさらに追加されたFireがあります。
※M5Stack Core2が後ほど出て、これが最新版です。
RaspBerry Piで同じことしようとすると、配線やセンサー類のまとめ方など悩みますが、M5Stackなら筐体で済んでしまったり、重ね合わせできる周辺機器を使うなどしてコンパクトに収めることができます。
個人的には、昔あった電子ブロックの現代版として感じています。組み合わせによっていろいろな電気製品を実現できるところが大きな魅力です。
M5Stick C/V

M5Stackでもスマートウォッチとして使うには大きすぎます。そこで、M5Stackの良さを残しながら小さくしたM5Stickが登場しました。
そのM5Stickにも2つの製品があり、M5StickCとカメラが付いたM5StickVがあります。
M5StickCは、液晶を小さくして文字通りスティックサイズにしました。ただし、バッテリー容量は小さいため長時間の駆動はできません。また、スピーカーやSDカードスロットがありません。2020年7月に、液晶が若干大きくなり、バッテリー増量されたM5StickC plusが登場しています。
Atom (Lite/Matrix)

Atomシリーズは、液晶を省いた最小のM5Stackです。そのAtomシリーズには、LiteとMatrixの2つの製品があります。Matrixは25個のLEDが付いていて、表示器として使用できます。
その他の製品
M5Stackの製品には、他にもM5Camera、Unit Vなどがあります。しかし今の主力は、上で紹介した3系統の製品と考えて良いでしょう。
※ボードのみで提供されるM5Stampも登場しました。こちらが組み込み用途で良いでしょう。
購入は?
M5Stackに積極的な店は、Raspberry Piでおなじみの「スイッチサイエンス」さんです。本体や周辺機器が実に充実しています。
また、kunimiyasoftのサブサイト「kunimiyasoft アイテムセンター」でも紹介しています。よろしかったらどうぞ。
開発環境は?

開発は、Arduino IDE によるC言語ライクなプログラミングで行います。その他にもMicroPythonやM5Flowがありますが、正統派のArduino IDEを使うのが良いでしょう。
Arduino IDEをちょっと使ってみたのですが、ほんとに良く出来ています。必要なライブラリを探してロードするのが簡単です。Raspberry PiにおけるQtCreatorではそこまで洗練された感じがしません。ましてや、Android Studioは..(以下省略)
そして肝心のプログラムですが、まだコードを見たレベルですが、ライブラリのおかげで実装がほんと楽そうです。Raspberry Piなら多くのコードを書かなければならないような場面でも、Arduino IDEならライブラリを利用したコードで短くて済むようです。
逆に、複雑な処理には向いていないように見えます(現時点では分からない)。それは、実際のコードを書いて検証していく予定です。
M5StickCが来ました!

注文したM5StickCが到着しました。M5Stick本体だけでなく、リストバンドや各種アタッチメントが付いています。
こういう面白いコンセプトが日本でも多く出てきて欲しいです。
次回から使用レポートを投稿します
それでは、M5Stickを使ったプログラムを行います。まず最初に、時計と高度を表示するプログラムを作ります。それは、近日公開予定です。