LEDマトリクス搭載小型マイコン ATOM Matrix でWLEDを動かしてみた

タイトル

初めてATOM Matrixを使います。WLEDプロジェクトをPlatformIOでビルドし書き込んでみます。最近は便利な開発環境があっていいです。WLEDで5x5ドットのLEDにエフェクトを表示してみます。

ATOM Matrixは5x5ドットのアドレッサブルRGB LEDを搭載していて2.4cm角サイズの小型ワンチップマイコンです。マイコンはESP32-PICOなのでWiFiとBluetoothが使えます。ネットにつなげるので遊び方を考えるの楽しい開発キットです。


初めて使うマイコンボードは最初の開発環境の準備をどうしたら良いかわからないですね。メーカーのホームページのチュートリアルに従えば動かすことはできるでしょう。
ATOM Matrix チュートリアル|M5STACK
Arduino IDEを使うのが王道でしょうか。入門としてUIFlowもいいですね。

今回はこれらを使いません。PlatformIOでWLEDプロジェクトをビルドします。以前にESP32で動かしました。それをATOM Matrixをターゲットにするだけにします。

ATOM Matrixも同じESP32です。それより少し小さなワンチップマイコンです。メモリーなどが少ないです。初めてATOM Matrixを使うとは言え開発環境は同じなのですんなり動くはず。

ドライバーのインストール

ATOM Matrixにプログラムを書き込むためにパソコンが必要です。ATOM MatrixをパソコンにUSBケーブルで接続します。ATOM Matrixのような開発キットにはUSBシリアル変換チップが載っていてパソコンではUSBシリアルドライバが必要になります。
このドライバーのインストールが一番難しいポイントですかね。中途半端に知識がある人ほどハマるポイントです。
今どきのWindowsならWindows Updateで入ります。古い昔のドライバがすでに入っていたら一度削除してWindows Updateに任せましょう。

PlatformIOとWLEDプロジェクト

今どきの開発環境 PlatformIOを準備します。そしてWLEDプロジェクトをもってきて開きます。先程のESP32の記事と同じです。PlatformIOのインストール方法はいくらでも見つかるでしょうからここでは説明していません。

WLEDプロジェクトを開いたら"platformio.ini"ファイルでターゲット環境を設定します。どのマイコン用にコンパイル・ビルドを行うかを教えるだけです。ほとんどの開発ボード用のコンパイルオプションはすでにplatformio.iniで準備されています。default_envsのコメントをATOM Matrixに合わせコメントを外すだけです。
次の変数のコメントを外します。
default_envs = m5atom
保存したらビルドします。ビルドの前に以前のコンパイル結果を削除しておきます。VS Codeの下の方にゴミ箱アイコン🗑が有るでしょう。クリックします。
チェックマークアイコン✔をクリックするとコンパイル・ビルドが始まります。
成功したら右矢印アイコン→をクリックするとATOM Matrixへの書き込みが始まります。
以前の開発ボードの多くは書き込み時にファームウエア書き込みモードに切り替える操作が必要でしたが最近は自動で切り替わるものが増えてきました。以前のESP32ではそれがうまく働かず手動で押しボタンを押す必要がありました。ですがATOM Matrixは何もせずに書き込めました。

WLEDの動作

書き込みが成功すればすぐにWLEDが動くでしょう。ATOM MatrixのLEDが全て光っているはずです。ここまで動けば後はWLEDの操作なのでATOM Matrixだろうが他のマイコンボードだろうが同じです。

WLEDは最初にWiFiアクセスポイントとして機能します。スマートフォンやWiFi付きのパソコンで"WLED-AP"に接続します。接続したらブラウザで
http://4.3.2.1/
を開きます。WLEDの画面が表示されます。
WiFi Settingsで家のWiFiに接続し直しましょう。SSIDとパスワードを入れて保存します。これで"WLED-AP"は動かなくなるのでスマートフォンやパソコンも家のWiFiに接続し直しましょう。
ATOM MatrixがLANで接続しています。ATOM MatrixのIPアドレスでブラウザを開けばWLEDの画面が表示されます。

エフェクトなどを選べばATOM MatrixのLEDの表示が変わるでしょう。
でもLEDがの数の設定がATOM MatrixのLEDの数と異なっているでしょう。WLEDの設定のLED PreferencesでLEDの数を25個に設定し直します。
PlatformIOで勝手に25個になると思っていましたがATOMシリーズはLEDが搭載されていないモデルもあります。特にLEDの数を設定するようにはなっていませんでした。
もしもビルド時にLED数を25個にしたいなら"[env:m5atom]"の”build_flags”に"-D DEFAULT_LED_COUNT=25"を追加すれば良いでしょう(未検証ですが)。

LEDストリップの追加

WLEDは複数のLEDストリップをコントロールできます。

コントロールできるストリップの数はCPUの性能に依ります。
以前に作ったLEDマトリクスを繋いでみました。

GPIOは21番につなぎました。WLEDでLEDストリップを追加すれば動きます。

ATOM Matrixを使ってみた感想

実際使ってみると小さいサイズも良い電源が無いのであまりメリットを感じません。USBーCケーブルだけで動くとはいえケーブルが延びるのは嫌です。モバイルバッテリーでは小さいものがなくATOM Matrixの小ささが活きません。M5Stackシリーズのように重ねられるバッテリーが欲しいです。でもRGB LEDは電流をたくさん必要とするので小さいバッテリーではすぐ空になってしまいます。マトリクスにアイコンを表示して簡単なユーザーインターフェースに使う事がすぐ思いつきますがちょっと微妙かな。当然Eペーパーなど電気を食わない方がバッテリーで動かしやすいでしょう。
アドレッサブルRGB LEDがマトリクスになっていて小さくて面白そうなATOM Matrixですが、ちょっと使い道が限定されますかね。ATOMシリーズの他のモデルのようにLEDマトリクス無しでマイクロフォン付きの方が小型パッケージとして合っているのかなと感じました。

ビデオ



コメント

最近のコメント

Threaded Recent Comments will be here.