M5Stackで遊ぼう!!UiFlow編
https://gyazo.com/08548adf5cf85390067a393fdc1cde73
M5Stackシリーズってなあに?
https://gyazo.com/0371c74f4489b6454fbc0141ae5c36eb
特徴
色々な機能があるマイコン(後述)
これだけですぐにIoTを実現可能
モジュール、ボトム、ハットなどで簡単に機能の追加ができる
ブロックプログラミングのUiFlowやテキストプログラミングのArduino言語で開発できる ハードウエア
CPU: ESP32, K210など
ディスプレイ:320x240TFT(Core,Core2), 80×160TFT(M5StickC), 135x240TFT(C Plus), 5x5フルカラーLED(ATOM Matrix)
バッテリー: 150mAh(Core), 390mAh(Core2), 80or95mAh(C), 120mAh(C Plus)
ネットワーク:Wi-Fi(2.4G) + BLE
センサー: 加速度センサー、ジャイロ、ボタンスイッチ、温度センサーなど
オーディオ: マイク, スピーカー
その他I/O: Grove A(I2C), B(A/D,GPIO), C(UART), M-BUSなど
付属物: キーボード、腕時計バンド、LEGOマウント、壁マウントなど
おすすめ
特徴
小さいながら色々な機能入り
腕時計ベルトが、色々な作品を作るのに便利
機能: 加速度計(6軸IMU)、画面、二つのボタンスイッチ、マイク、ブザーなど
付属品: 時計ベルト、LEGOマウント、壁掛けマウント
https://d2air1d4eqhwg2.cloudfront.net/images/7535/500x500/19800bb1-2b4a-46c5-8e3d-f3813827548d.png
特徴
大きいディスプレイが欲しい人向け
LEDバーがカッコイイ!!
機能: 加速度計(6軸IMU)、LEDバー、画面、タッチスクリーン、マイク、スピーカーなど
https://d2air1d4eqhwg2.cloudfront.net/images/6784/500x500/424074e6-9e27-41d1-92a8-3b21e2fc7a89.png
M5Stackの開発環境
ブロックプログラミング言語です。
GUI部分は、エディタで簡単に作ることができます。
https://gyazo.com/a24f609eebf22bf101ce5fd713c8a0b5
toioの制御も可能!!
C言語やC++言語でプログラミングできます。
M5Stack用ライブラリも豊富で、サンプルスケッチも用意されています。
https://gyazo.com/9741ce6147d44b2fa6f1e90409a2cee1
Python
UiFlowからの変換も可能
https://gyazo.com/bbb4ab05cb5907a1e479a549eb747480
UiFlow
https://gyazo.com/a24f609eebf22bf101ce5fd713c8a0b5
ブロックプログラミング環境
オンラインのブラウザ版とUSB接続のデスクトップ版
オンライン版: Webブラウザで利用できる
最新のボードやHATなどにも早く対応してくれる
M5Stackも開発用PCもインターネットで接続されていることが必要
M5Stackを接続する無線LAN環境が変わるたび再設定が必要
デスクトップ版: USB経由でM5StackとPCのやりとりを行う
インターネット接続の必要がない
オンライン版に比べてバージョンが古い
M5Stack UiFlowの接続方法をUSBに変更する必要がある
作成したコードは、リアルタイムに実行するだけではなく、M5Stackにダウンロードすることもできる
おまけ
Pythonコードへの変換も可能
ATOMを使っている場合、toioのプログラミングもできる
https://gyazo.com/bbdebe0d93c2802315519c92504d0764
UiFlowのしくみ(オンライン版)
https://gyazo.com/df0d0df7e9d0b1dbe1944b0c2eba3371
M5Stackはクラウド経由で接続している。
だから、インターネット接続環境が必須。
ブラウザとM5Stackの対応は、API KEYで実現する。
UiFlow利用のための準備
USBシリアルドライバのPCへのインストール
ボードが接続したPCから使えるようにするために、USBシリアルドライバというプログラムをPCにインストールします。
ドライバは、ここの"USB DRIVER & OPEN SOURCE LIBRARY"というところにあります。 ボードの種類によって、インストールするドライバが違うので注意してください。
ドライバをインストールしなくても最初から使えるようになっているのもあります。
M5Burnerを使って、M5Stackのファームウエアの書き込みと初期設定をします。
M5StackをUiFlowで使うためのソフトウエアをM5Stackにインストール。
M5Burner(ここの"UIFLOW FIRMWARE BURNING TOOL"): UiFlow用のファームウェアや他にも色々なソフトをM5Stackにインストールするためのソフトウエア。 作業手順
まず、自分のボードに合ったUIFLOWを選びます(図の赤色1)。
右下の"Download"ボタンを押して、ダウンロードします(図の赤色2)。
https://gyazo.com/291ace2a0066b204110d9f421b470f64
ダウンロードすると、ボタンが"Remove", "Configuration", "Burn"と変わる(図の紫3)ので、"Burn"(図の緑4)を押すと実際にボードでUiFlowが使えるようになります。
https://gyazo.com/83ae53734b52653400182879328c1ba8
"Burn"するときに、無線LANの設定を聞いてきますので、5GHzではなく2.4GHzのアクセスポイントを選びます。
https://gyazo.com/c6e735a9f53724d24161f2c5228b2357
"COM:"の項目で、USBシリアルポートのどこに繋がっているのかを指定する必要があります。
ボードをUSBに接続していない状態の一覧を確認しておき、ボードを刺した時に増えた項目があれば、それがボードのシリアルポートです。
https://gyazo.com/07502a8458509a8449a5d488a6cd7367
図の水色の5を押し、ファームウエアを書きこみます。
https://gyazo.com/9ae1cf2b1d61a777296838070237826d
しばらく時間がかかりますが、図の緑色の6が出てきたら終了です。
https://gyazo.com/073a146ee0519a97ba05af8e7f59f506
UiFlowでプログラムしよう!!
やってみよう!! / Let's try!!
UiFlowの設定変更
無線LANの変更などの設定は、Configurationボタンから可能です(図の赤色のb)。
https://gyazo.com/9d7cea26f21f52965fdf9b1e71de3646
設定メニューは、以下のようになっています。
はじめに設定するシリアルを選択します。
その後、図のオレンジ色Cを押して、次に進みます。
https://gyazo.com/8fe7cfcc20316791e045bfe5004e5bb3
無線LANの設定変更は、Wifiの項目を変更してください。
無線LANは、5GHzではなく2.4GHzしか使えないので注意してください。
https://gyazo.com/aa844ee1151ddafd22e5647b90dfac11
参考になるもの
今日、持ってきてます!!
https://book.mynavi.jp/files/topics/129259_ext_06_0.jpg?v=1649141507
とても古いのであんまり参考にならないと思います。
おまけ:コンテストなど
M5Stack Japan Creativity Contest: M5Stackを使った作品のコンテスト。ここ3年ほど、毎年やっている。今年もやる予定。
おまけ:M5bitLess
Scratch3(Stretch3)のMicrobit Moreを使ってM5Stackを使う