後輩をかばいすべての作業を放棄したuzukiに対し、車の主、暴力団員谷岡が言い渡した示談の条件とは・・・。
冗談はおいといて、世の中こんなんですがM5Stackからはるばる新商品がとどきました。
M5Atom小さくて良いですよね。
技適も無事通過したので、ESP32 Picoが気軽に使えるのはすごくうれしいです。
ということで、仕事の合間に 現実逃避 気分転換 でちょっと触ってみました。
環境構築
FTDI driverは最新のじゃ無いとイケないらしい。 僕はmaix触る関係で頻繁にガチャガチャやってるので何も考えずに動いた。
M5AtomのライブラリはArduinoのライブラリマネージャーにすでに上がってるのに普通に入れてOK
ボードはまだM5Atomでは登録されてないので、普通に ESP32 Pico Kit を選択。
コレで書き込めた。
公式サンプル
とりあえず、
https://github.com/m5stack/M5Atom/tree/master/examples/Basics
を眺めてLEDDisplayとLEDSetを試した。
LEDSetは動いた。
とりあえずLチカしてみる
LEDマトリクスディスプレイのAPIを確認するために、軽くスケッチを書いてみる。
# include "M5Atom.h"
uint8_t counter = 0;
uint8_t color_index = 0;
const CRGB COLOR[4] = {
0xf00000,
0x00f000,
0x0000f0,
0x707070
};
void setup() {
M5.begin(true, false, true);
delay(50);
M5.dis.clear();
}
void loop() {
// ボタン(画面)をクリックすると、LEDを順番に点灯していく。一週したら色を変える。
if (M5.Btn.wasPressed()) {
counter++;
if (NUM_LEDS <= counter) { // NUM_LEDS は M5Atomライブラリにある
counter = 0;
color_index++;
}
if (4 <= color_index) {
color_index = 0;
}
}
for (int i=0; i<counter+1; i++) {
M5.dis.drawpix(i, COLOR[color_index]); // Neopixel的な連番指定の他に、x, y で点灯位置を指定するIFもあり。
}
delay(100);
M5.update();
}
いかにもネオピクらしい使い方。
本当は、 Atom pixel tool で作ったデータを M5.dis.animation で表示するとかが王道だとおもうけど。Lチカってことで許して。
追記
- この後、 前に書いたSESAMEコントローラーのコード を M5Atom向けに書き換えたりしてた。
- なぜか、
CRGBによる色指定がRGBではなくGRBで処理される。M5Atomライブラリ内部でFastLEDで渡す時のオーダー指定が間違ってるのかも。ソースまだ追ってない。 - ボタンの反応が悪いときがあるので、ボタン押されたらまずMatrix全点等など、リアクションを作っておいた方が良いように思う。




