導入
先日、M5Atom S3 liteを購入しました。
M5Atomの後継であるM5Atom S3の、ディスプレイなどがない小型版が、このM5Atom S3 liteです。
・公式ページ
AtomS3 Lite ESP32S3 Dev Kitshop.m5stack.com
・スイッチサイエンス
ATOMS3 Litewww.switch-science.com
M5Stackシリーズは、機種によって微妙にライブラリの使い方が違います。 M5Atom S3 liteは、M5Atom S3と同じっぽいですが、備忘録として、動作した基本的なプログラムを残しておきます。
サンプル
実際に使ったプロジェクトは、こちらのリポジトリに公開しています。
環境設定
PlatformIOのBoard設定では、「Espressif ESP32-S3-DevKitC-1-N8(8 MB QD, No PSRAM)」を使用しました。
プロジェクトのパスに日本語が入っていると、ビルド時にファームウェアがないみたいなエラーが出ることがあるので、注意しましょう。
コード
実際のコードは以下です。
#include <M5AtomS3.h> #include <FastLED.h> #include "M5Unified.h" #include <M5GFX.h> void setup() { AtomS3.begin(true); // Init AtomS3Lite. AtomS3.dis.setBrightness(100); } //ボタンを押すたび、消灯>赤>緑>青を繰り返す int count = 0; int color = 0; void loop() { if(AtomS3.BtnA.wasPressed()){ count = (count+1)%4; } switch (count % 4) { case 0: color = 0x000000; break; case 1: color = 0xff0000; break; case 2: color = 0x00ff00; break; case 3: color = 0x0000ff; break; default: break; } AtomS3.dis.drawpix(color); AtomS3.update(); delay(100); }
詳しく説明
使用しているライブラリですが、基本はM5AtomS3を使用します。 それだけでビルドしようとすると、コンパイル時に、FastLED, M5Unified, M5GFXも追加する必要があるという旨のエラーが出たので、追加しています。 (本当はなぜ必要かをちゃんと知るべきですが、ひとまず動作確認なので飛ばします。)
多くのM5Stack製品では、M5.hogehogeと書くことが多かったように思いますが、M5AtomS3では、AtomS3.hogehogeで各種M5の機能を呼び出しています。
今回使っているのは、以下の4つですね。
#初期化 AtomS3.begin(true); #内蔵LEDの明るさ設定 AtomS3.dis.setBrightness(100); #内蔵LEDの色設定 AtomS3.dis.drawpix(color); #内蔵ボタンへの入力などを更新 AtomS3.update();
動作確認
動きました!