日本語/English
M5bit Lessは、Microbit MoreをM5Stackで使うためのM5Stack用プログラムです。 Arduino IDEで作成しています。
以下の機種で動くことを確認していますが、全てで同じ機能がサポートされているわけではありません。 M5Unifiedを使っているため、ほとんどのM5Stackファミリーで利用可能なはずです。 詳しくは、サポートしている機能の表を参照してください。
- M5Stack Basic
- M5Stack Gray
- M5Stack Core2
- M5StickC
- M5StickC Plus
- ATOM Matrix
- CardPuter
- Wio Terminal
- ジェスチャー
- つながったときイベントブロック
- 加速度の入力(IMUを持つM5Stack Gray, M5StickC、MPU6886ユニット(M5Stack用6軸IMUユニットなど)が必要です)
- パターンの表示
- 文字列の表示
- 音を鳴らす
- 音の大きさ
- AとBボタンのクリックされたとき、下がったとき、上がったとき
- ロゴ(Cボタン)のタップされたとき、触れられたとき、離されたとき
- 明るさ
- 温度
機種/device | ジェスチャー/Gesture | 加速度入力/acceleration | パターン表示/display pattern | 文字列表示/display text | 音を鳴らす/play tone | 音の大きさ/sound level | ボタン/button input | 明るさ/light intensity | 温度/temperature | 備考/Note |
---|---|---|---|---|---|---|---|---|---|---|
M5Stack Basic | -(IMU) | △別途IMU必要 | o | o | o | x | A,B,C(LOGO) | x | △別途IMU必要 | |
M5Stack Gray | - | o | o | o | o | x | A,B,C(LOGO) | x | o | |
M5Stack Core2 | o | o | o | o | o | x | A,B,C(LOGO) | x | o | |
M5StickC | o | o | o | o | x | o(マイク付きモデル) | A,B | x | o | |
M5StickC Plus | o | o | o | o | o | o | A,B | x | o | |
ATOM Matrix | o | o | o | △ | x | x | A | x | o | 電波が弱い |
CardPuter | x | x | o | o | o | o | A | x | x | |
Wio Terminal | o | o | o | o | o | o | A,B,C(LOGO) | o | o |
- △:対応可能だがまだ実装できていないもの。
- -:まだ動作確認できてないもの
src/M5bit-less/M5bit-less.inoをArduino IDEからコンパイルして、M5Stackにダウンロードします。
M5Stack Core2では、正常にコンパイルが終了してダウンロードできても、初期画面が表示されず動作しない時があります。 その場合、ツール->PSRAMを無効(Disable)にしてみて下さい。
Microbit Moreは、stretch3などで拡張機能として使うことができます。
Microbit Moreの拡張機能を追加します。
接続するデバイスを選択します。
あとは、通常のMicrobit Moreのように利用することができますが、まだ実装していない機能があるので注意してください。
label & data拡張は、ScratchとM5Stackの間で、文字列labelで、値がdata(文字列か数値)の特別なデータを送受信できます。
今のところ、画面描画のためのコマンドが実装されています。
ラベル名 | 意味 | 値 |
---|---|---|
label | ラベルとデータの表示 | 0:表示しない(デフォルト)、それ以外:表示する |
led | LEDのオンオフ | 'on':オン, それ以外:オフ |
x0,y0,x1,y1,x2,y2 | 座標(x,y) | 整数 |
w,h | 幅と高さ | 整数 |
r | 半径 | 整数 |
c | 色(24bit) | 整数 |
xc,yc | 文字列表示位置 | 整数 |
str | 表示する文字列 | 文字列 |
size | 文字サイズ | 整数(1-7) |
tc | 文字色(16bit) | 整数 |
cmd | 描画コマンド | 文字列(下表参照) |
以下のような画面描画のためのコマンドが利用可能です。
cmdのデータ | 意味 | 実際のコマンド |
---|---|---|
drawPixel | 点を描画 | M5.Lcd.drawPixel(x0, y0, c) |
drawLine | 線を描画 | M5.Lcd.drawLine(x0, y0, x1, y1, c) |
drawRect | 四角を描画 | M5.Lcd.drawRect(x0, y0, w, h, c) |
drawTriangl | 三角を描画 | M5.Lcd.drawTriangle(x0, y0, x1, y1, x2, y2, c) |
drawRoundRe | 角丸四角を描画 | M5.Lcd.drawRoundRect(x0, y0, w, h, r, c) |
fillScreen | 全画面を単色で塗る | M5.Lcd.fillScreen(c) |
fillRect | 塗った四角を描画 | M5.Lcd.fillRect(x0, y0, w, h, c) |
fillCircle | 塗った円を描画 | M5.Lcd.fillCircle(x0, y0, r, c) |
fillTriangl | 塗った三角を描画 | M5.Lcd.fillTriangle(x0, y0, x1, y1, x2, y2, c) |
fillRoundRe | 塗った角丸四角を描画 | M5.Lcd.fillRoundRect(x0, y0, w, h, r, c) |
文字列を描画 | M5.Lcd.setCursor(xc, yc);M5.Lcd.setTextColor(tc);M5.Lcd.setTextSize(size);M5.Lcd.print(str) |
今のところ、以下のようなキーボード入力が利用可能です。
以下のような変数が予約されています。
ラベル | 意味 | 実際の値 |
---|---|---|
Key | Grayのキーボードで入力された文字コード | 'a', 'b', 'A', ... |
a | ランダムな'a'-'z'の文字を返す | 'a', 'b', 'c', ... |
以下の項目は実装可能ですが、まだ実装していないものです。
- ピンへの入出力(GPIO, PWM, ADC, Servoなど)
以下の項目は、M5Stackに対応するセンサーなどが標準では無いため、実装できていません。
- 明るさセンサーの対応: Wio Terminalでは実装
- 磁力に関する機能(北からの角度などを含む): M5Stack Grayでは実装可能
- 音声入力((標準では)マイクが無いため): M5StickC/PlusやCore2などのマイク入力のある機種では実装可能