M5StickC_Plusは、48.2 x 25.5 x 13.7 mmサイズと手のひらにすっぽり収まる小さなマイコンで、ボードマイコンのように回路が裸ではなく、ケースに覆われている。電源は充電電池を内蔵しており(USB-Cケーブルで充電)、WiFiとBruetooth機能があるESP32に、6軸加速度センサ、液晶ディスプレィ、LED、赤外線LED、3つのボタンとGroveなど外部信号用のコネクタがついている。なお、M5StickCはM5Stack社の製品で、同類の製品にM5Stackシリーズなどがある。また、温湿度センサーなどの拡張ユニットはM5stack用の物(GROVE)が使えるほか、StickC本体に一体化状態で接続できる「HAT」もある。
M5StickCなどは国内取扱店のスイッチサイエンス社などで入手できるが、R5.5現在でM5StickCは販売終了(在庫のみ)し、M5StickC_Plus(約4000円)の販売となっている。使用ライブラリが異なるので注意が必要。また、Plusでは、G25、G36は同ポート(同時に使えない)なので未使用ポートはフローティングにすること。
M5StickC_Plusにプログラムを書き込んで動作させるには、本体ファームウェアの書き換え作業、およびプログラムを書くためのPC上の開発ソフトのインストールが必要。ファームウェアの書き換えには、専用の M5Burner を使う必要がある(現 UIFlow-Desktop-IDE には M5Burner は含まれていない[10/10修正])。また、開発ツールと本体はバージョンを合わせること(バージョンが異なっていても動作する場合もある[10/10追加]が・・)。
UIFlow(MicroPythonを含む)はGUIプログラミング開発が可能で、Desktop版とWeb版(*参考)があり、Desktop版はネット環境がなくとも利用できる。しかし、Desktop版のバージョンアップは遅いと言われており、最新版を使いたい場合はWeb版がお薦め。さらに、ArduinoIDE(C++言語)などでも開発が可能(*参考)。ここでは、ネットワーク設定が不要なDesktop版を使った。
なお、web版を起動するには ここ(flow.m5stack.com) をクリック(事前にWiFi接続設定が必要。後から設定するにはabc872参照)。
@ M5Stack社のダウンロードページから UIFlow IDE Win10x64をダウンロード (windows10の場合) A Zipファイルを任意の場所に解凍 (インストール不要) |
Download画面 |
@ M5StickC Plusを充電する(1時間程度) A 充電後、電源[左]ボタンを押して再起動 B 工場出荷時の Factory Test が起動 C パソコンには新しいCOMポートとして認識 ※ 低電圧エラー(ERROR22)が出ることがある |
Factory Test 画面 |
@ UIFlow-Desktop-IDE.exeをクリック実行 A COMポートを選ぶ(USB接続で増えたポート) B 言語は「日本語」(英語のままでも良いが・・) C デバイスはM5StickC_Plus(アイコン) D「OK」を押す・・ところが、接続エラー!! ・このエラーは、APPモード(*3)のためと思われる。
・M5StickCが長時間使用されなかったため、低電圧となり、電源管理ICの保護機能が働いている?。
E そこで、下記(1) を参考にBATとGNDを短絡し、30分充電を行ったが症状は改善せず。
F UIFlowの中にBurnerが見つからない(仕様が変わった?)ので、ダウンロードページよりM5Burnerをダウンロード。後、Zipファイルを展開。
G M5Burnerを起動し、デバイスにStickC_Plus、Desktop-IDEのバージョンにあわせV1.9.5を選び、「download」を実行。
H「Burn」をクリックし、さらに「NEXT」を押し、ポート番号を指定し「Start」を押すと、ファームウェアの書込が始まる。
I 書込終了メッセージが出たら、M5Stick_Plusを再起動(*1)すると、メニュー/Setup画面が表示された。
J Setup画面から、設定変更(*2) で、USBモードに変更し、再起動。K UIFlowも再起動し、接続を試みると、「接続済み」と表示された。 |
UIFlow起動画面(COM、Device選択) 接続エラーと表示された M5Burner画面(STickC_Plus選択) |
Setup画面 |
USBに設定 |
USBモードに |
@ EventからLoop(ずっと)を選択しSetupに結合 A HardwersからLED、LEDOFFとLEDONを選択 B TimerからWait[1]msを2つ選択 C Timerの数値を2つとも500に変更 D Loopの中に上記を順に結合する E 右下のRunをクリック F M5StickCPlusのLEDが0.5秒間隔で点滅 |
Blockプログラム |
Pythonプログラム |
・以下の記事はword2019で記述しています
ページ番号 |
ページ番号の書式 |
ヘッダーとフッター |
※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。