M5Stack社の製品にまつわる新情報をまとめてお届けする「M5Stackマンスリーアップデート」のコーナーです。

2020年4月の新製品

2020年4月は次の製品の販売が始まりました。

atom matrix

ATOM Matrix

24 x 24ミリの小型の開発モジュール。上面に5x5のマトリックスLEDを搭載。

atom lite

ATOM Lite

24 x 24ミリの小型の開発モジュール。マトリックスLEDがないモデル。

BugC

BugC

M5StickCを載せて制御する4本足の小型ロボット。

JoyC

JoyC

M5StickCを接続して使うコントローラモジュール。

RoverC

RoverC

メカナムホイールを搭載した全方向移動ロボット。M5StickCを接続して使う。

PuppyC

PuppyC

4つのサーボモーターで動く四脚ロボット。M5StickCを接続して使う。

M5StickC 8Servos Hat

M5StickC 8Servos Hat

8個のサーボを制御できるM5StickCの拡張ボード。

PowerC

PowerC

M5StickCを接続して使う充電モジュール。

Mini Fan Unit

Mini Fan Unit

ファンユニット。GroveケーブルでM5Stack、M5StickCなどにつないで使う。

中でも一番のニュースは、国内でATOM Matrix、ATOM Liteの販売が始まったことです。

stack-stickc-atom

ATOM Matrix、Lite

ATOM Matrix、ATOM LiteはM5Stack、M5StickCに続く新しい開発モジュールです。上の写真の左からM5Stack Basic、M5StickC、ATOM Matrixです。 M5Stack、M5StickCにあった液晶画面がなくなり、24 x 24ミリと小さくなりました。10円玉の直径が23.5ミリなので、ほぼ10円玉と同じサイズです。 おもちゃやIoT端末などのコントローラとしてとても便利に使えそうです。

押しボタンのようなサイズのケースの中にはM5StackやM5StickCと同じESP32というマイコンが搭載されていて、 ESP32に内蔵される通信モジュールにより、Wi-FiとBluetoothで通信できます。 これだけでArduino端末ですし、UI FlowやMicroPythonでもプログラミングできる優れものです。

ATOMの主なスペックをM5Stack、M5StickCと比べてみました。

M5stack-spec

UI FLOWでのプログラミング

まずUI FlowでATOMを動かす方法を見てみます。UI Flowの準備や使い方はM5Stackカフェ「LEDを点滅させる」をご覧ください。

最初にM5BurnerでATOMにファームウェアを書き込みます。2020年5月時点で最新のUIFlow-v1.5.1、v1.5.2というバージョンでは書き込むデバイスとしてATOMが選択肢に現れないので、UIFlow-v1.4.5.1を選びます。ATOMをUSBケーブルでパソコンに接続し、M5BurnerでUSBデバイスを選び、右上の「Series」から「ATOM-Matrix」を選びます。

デバイスを選択

「Erase」ボタンをクリックしてファームウェアを消去し、「Burn」ボタンでファームウェアを書き込みます。ファームウェアを書き込んだら、ターミナルソフトを立ち上げてATOMがつながっているUSB回線を選び、ATOMのリセットボタンを押します。すると次のようなメッセージが表示され、その中にAPIキーが表示されます。

APIキー

ブラウザでUI Flowを立ち上げ、先程表示されたAPIキーを入力し、デバイスとして「Atom-Matrix」を選択します。

UIFlow設定

左側のUI画面にはATOMが表示され、「ハードウェア」メニューにはRGBカラーと加速度&ジャイロが現れます。RGBカラーを見ると、5 x 5 のマトリックスLEDを制御するためのブロックが表示されます。

RGBカラーメニュー

あとは好きなブロックを選んで組み合わせることで、ATOMを動かすことができます。

Arduinoでのプログラミング

Arduinoでのプログラミングの方法です。

Arduino IDEを立ち上げて、「ツール」メニューから「ライブラリを管理…」を選んで、ライブラリマネージャを立ち上げます。検索窓に「atom」と入力して、「M5Atom」ライブラリをインストールします。

M5Atomライブラリをインストール

「M5Atom」ライブラリをインストールすると、「ファイル」メニューの「スケッチ例」に「M5Atom」が追加されます。その中の「Buttom」と書かれたスケッチを選んでみましょう(Buttonのスペルミスだと思います)。

ビルドするには、最初にボードを選択しますが、2020年5月時点では「M5ATOM」はありません。代わりに「M5StickC」を選びます。シリアルポートを選択して、ビルドボタンをクリックすると…

FastLED.h: No such file or directory

エラーが出てしまいました。FastLED.hがないということなので、ライブラリマネージャで「FastLED」をインストールします。

FastLEDをインストール

これでビルドができて、プログラムが動き出します。ATOMのマトリックスLEDがスイッチになっていて、これを押すと、押すたびにLEDの色が赤、緑、青と変化します。

Arduinoのスケッチの書き方はM5StackやM5StickCとほぼ同じです。スケッチの先頭にM5Stackでは #include <M5Stack.h> 、M5StickCでは #include <M5StickC.h> と書きますが、ATOMでは #include <M5Atom.h> と書くようにします。

スケッチ例には「Button」の他に「LEDDisplay」「LEDSet」「MPU6886」があります。

スケッチ例

「LEDSet」はマトリックスの左上のLEDだけの色を変えるサンプル、「MPU6886」は加速度とジャイロセンサの値をシリアルに出力するサンプルです。「LEDDisplay」はマトリックスLEDに何かを表示するようなのですが、著者の環境では何も表示されませんでした。

ATOMは10円玉の直径と同じぐらいのサイズと、とても小型ながら、ESP32が搭載され、UI FlowやArduinoでプログラミングできるので、アイデア次第でいろいろな使い方ができそうです。