NT金沢でジミーさんにPuzzle Unitをもらったのだった。

なんかLEDが並んだパネルっぽいけど、何に使うものなのかしらん。Groveコネクタがいつもと違う方向に付いているのも気になる感じ。ユニット間のシリアル連結用と思われる小さいプラグが1個ついている。




LEDはWS2812Eを8x8=64個使っているので、電気食いそう... 熱くなりそう... サイズ面でATOMと同じデザインにしたいというのはわかるのだけど、ここまで密度をあげなくてもよかったような。4x4にしてコストダウンして複数使うみたいのとか、サイズのこだわりを捨てるとか。
LEDには仕切りがあって、漫然と並んでいるのとは違って隣への光漏れがないので、表示用としては鮮明に見える。
連結形状からするとこのプラグでは一方向に長いしか連結できない。並べるときには普通のGroveケーブルで接続したらいいのかな。不細工だけどw 連結した時の消費電力も気になる。普通にマイコンユニットからの電源供給で足りるのだろうか。いくつなら繋げられるのかな? 電源ラインを別に確保する専用のユニットが1ついるかも。
なんか、何に貼るわけでもなさそうな長いラベルシールが付属しているのだけど、これはLEDの輝度と消費電力の目安が書かれているようだ。特段の理由がない限り、最低輝度で使うのがよさげ。

ドキュメントでは、Unit Puzzleになっているw このような製品名の混乱があるのはよろしくないね。M5Stackのサポートからは、ドキュメントにある製品名が正しいと言われているけど、新しい製品でも混乱が続いているのは本当によくない。
Unit Puzzle
https://docs.m5stack.com/ja/unit/Unit-Puzzle
UIFlowのドキュメントでもUnit Puzzleだw。
Unit Puzzle
https://docs.m5stack.com/en/uiflow/blockly/unit/puzzle
もらいものなので、お値段は知らなかったのだけど、$7.50らしい。スイッチサイエンスだと1,628円。結構なお値段なので、いっぱい使うのはつらい。
日本では、UIFlowで使ってみた人が1人いるくらいのようだ。あとは、海外のYoutubeサイトで基本的な紹介があるくらい。こいつは便利!的な用途はない感じ。まぁ、そんなもんだよねw
Arduinoからの制御は、Adafruit_NeoPixelかFastLEDのリンクがあるだけで、サンプルコードなどはない。ATOM Liteにつないで使ってみる。
Adafruit_NeoPixelだと、普通にマトリックスLEDを使うように指定したらいいみたい。でも、これだと、長く連結しない場合は自分でマトリックスを変換しないとダメそうね。
どれか1つを赤色で点滅させるスケッチ。
#include <Adafruit_NeoPixel.h>
#define LED_PIN 26 // Puzzle Unit制御用ピン(PORT.Aの信号線)
#define NUM_LEDS 64 // 8x8 マトリクス
Adafruit_NeoPixel pixels(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin();
pixels.setBrightness(20); // 輝度調整(最大255)
pixels.clear();
pixels.show();
}
void loop() {
// 1つだけ赤く光らせる(例:中央のLED)
int ledIndex = 27; // 中央付近(5行目・4列目あたり)
pixels.clear();
pixels.setPixelColor(ledIndex, pixels.Color(255, 0, 0)); // 赤
pixels.show();
delay(500);
// 消灯
pixels.clear();
pixels.show();
delay(500);
}
普通に動く。
青を順に点灯させる。
void loop() {
for (int i = 0; i < NUM_LEDS; i++) {
pixels.clear(); // 毎回1個だけ光らせる
pixels.setPixelColor(i, pixels.Color(0, 0, 255)); // 青色
pixels.show();
delay(100); // 点灯間隔(ミリ秒)
}
}
Unit Puzzleで青色を順に点灯 - YouTube
https://www.youtube.com/watch?v=MlxNfYG727g
乱数をセットして、ランダムに黄色で光らせる。
void setup() {
randomSeed(analogRead(0)); // 乱数初期化(未接続ピンから読み取り)
}
void loop() {
int index = random(NUM_LEDS); // 0〜63のランダムインデックス
pixels.clear(); // 1個だけ光らせるため毎回クリア
pixels.setPixelColor(index, pixels.Color(255, 255, 0)); // 黄色
pixels.show();
delay(200); // 点灯時間(ミリ秒)
}
Unit Puzzleで黄色をランダムに点灯 - YouTube
https://www.youtube.com/watch?v=ttp8QWUUd5I
うーん、ちょっとつまらない。発想が貧弱なので、何に使っていいか、ぜんぜんわからないわー。
100円投げ銭 https://kinneko.booth.pm/items/1963720
オリジナル投稿:
M5Stack Puzzle Unit使ってみる? -1-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/10282269



