M5Stackを始めます
今までRaspberry Piでプログラミングしてきましたが、M5Stackも始めることにしました。
M5Stackについては前々から存在を知っていましたが、Raspberry Piで手一杯だったので手を出さずにいました。
しかし最近、製品体系の一つM5Stickの存在を知ってからは興味が湧き、調べるほどに良く出来たマイコンモジュールであることが分かって購入を決意しました。
それでは、M5Stackについて簡単に紹介します。
1. M5Stackの概要
M5Stackは、液晶パネルが付いたマイコンモジュールです(液晶のないタイプもある)。安価で小型なRaspberry Piとコンセプトが似ていますが、Raspberry Piがパソコンそのものであるのに対して、M5Stackは単独で完結するものではなく(ESP32を搭載しています)、パソコンを母艦として開発します。
そして液晶パネルを搭載することから、Raspbery Piのように別途HDMIディスプレイやキャラクタディスプレイなどの表示器に悩まなくても済みます。また、オプションでリストバンドもあるので、スマートウォッチとしても活用できます(見た目にはあまり良くない)。
さらに私が一番気に入った点は、オプションとして用意されているセンサーなどの拡張機器が実に充実しているところです。Raspberry Piだとセンサーを何にするか悩みますが、M5Stackであれば純正で用意されていて、しかも安く購入できます。
また純正ですから、M5Stackのサイズに合わせて作られたものも多いです。特に私が購入したM5StickCには、本体の端子に被せて使うハットというセンサー類が充実しています。M5StickCであれば、Raspberry Piで諦めていたリスト装着も使えそうです。
M5Stackには、数多くの製品が用意されています。それぞれを紹介しましょう。
2. M5Stackの種類
M5Stack (Basic/Core2/CoreS3)
M5Stackは、コンパクトな筐体に液晶パネル、ボタン、スピーカー、SDカードスロット、Wi-Fi、BlueToothなどが盛り込まれたマイコンモジュールです。作るものによりますが、本体だけで出来てしまうことも多いことから、人気です。
また、M5Stack自身にも製品体系があります。基本となるBASICの他に、、、、センサーが増えたGrayと入力デバイスが付属するFaces、Webとの連携でAIスピーカーとしての用途を考えたM5Go、センサーがさらに追加されたFireがあります。
2024年初頭現在では、Core2 と CoreS3が中心的な製品となっています。選ぶなら、CoreS3の方が良いでしょう。
RaspBerry Piで同じことをしようとすると、配線やセンサー類のまとめ方など悩みますが、M5Stackなら筐体だけで済んでしまったり、重ね合わせできる周辺機器を使うなどしてコンパクトに収めることができます。
個人的には、昔あった電子ブロックの現代版として感じています。組み合わせによっていろいろな電気製品を実現できるところが大きな魅力です。
M5Stick C/V
コンパクトなM5Stackでも、スマートウォッチとして使うには大きすぎます。そこで、M5Stackの良さを残しながら小さくしたM5Stickが登場しました。
そのM5Stickにも2つの製品があり、M5StickCとカメラが付いたM5StickVがあります。
M5StickCは、液晶を小さくして文字通りスティックサイズにしました。ただし、バッテリー容量は小さいため長時間の駆動はできません。また、スピーカーやSDカードスロットがありません。2020年7月に、液晶が若干大きくなり、バッテリー増量されたM5StickC plusが登場しています。
2023年年末には、M5StickC plus 2が登場しています。
ATOM (Lite/Matrix/S3/S3 Lite)
ATOMシリーズは、最小クラスのM5Stackです。そのATOMシリーズには、LiteとMatrixの2つの製品があります。Matrixは25個のLEDが付いていて、表示器として使用できます。
ATOMシリーズに、ATOM S3とATOM S3 Liteが登場しました。ATOM S3には、液晶パネルが搭載されています。
その他の製品
M5Stackの製品には、他にもM5Camera、Unit Vなどがあります。しかし今の主力は、上で紹介した3系統の製品と考えて良いでしょう。
※現在は、M5StampやM5Paper、M5Dialなど、次々に新しい派生製品が出てきています。このスピード感は、今の日本企業にはありませんね。
購入は?
M5Stackに積極的な店は、Raspberry Piでおなじみの「スイッチサイエンス」さんです。本体や周辺機器が実に充実しています。
また、kunimiyasoftのサブサイト「kunimiyasoft アイテムセンター」でも紹介しています。よろしかったらどうぞ。
3. 開発環境は?
開発は、Arduino IDE によるC言語ライクなプログラミングで行います。その他にもMicroPythonやM5Flowがありますが、正統派のArduino IDEを使うのが良いでしょう。
Arduino IDEをちょっと使ってみたのですが、ほんとに良く出来ています。必要なライブラリを探してロードするのが簡単です。Raspberry PiにおけるQtCreatorではそこまで洗練された感じがしません。ましてや、Android Studioは..(以下省略)
そして肝心のプログラムですが、まだコードを見たレベルですが、ライブラリのおかげで実装がほんと楽そうです。Raspberry Piなら多くのコードを書かなければならないような場面でも、Arduino IDEならライブラリを利用したコードで短くて済むようです。
逆に、複雑な処理には向いていないように見えます(現時点では分からない)。それは、実際のコードを書いて検証していく予定です。
Arduino IDEのセットアップ方法をまとめた記事を用意しました。まずはこの記事でArduino IDEの環境を整えましょう。
4. M5StickCが来ました!
注文したM5StickCが到着しました。M5Stick本体だけでなく、リストバンドや各種アタッチメントが付いています。
こういう面白いコンセプトが日本でも多く出てきて欲しいです。
5. 次回から使用レポートを投稿します
それでは、M5Stickを使ったプログラムを行います。まず最初に、時計と高度を表示するプログラムを作ります。それは、近日公開予定です。