見出し画像

(2)M5GOとUIFlowでプログラミング - デモプログラム

デモプログラムについて(M5GO.py)

M5GOを購入して起動させると、M5GOの持っている機能を説明したデモプログラムが起動します。
何なら、UIFlowのファームウェアも、もともと書き込まれているので、ファームウェアがv1.8.1でよければ、Wi-Fiにさえ繋げる設定をしてWeb版UIFlowサイトにつなげれば、基本的な機能は、そのまま使用できるはずです(やってないけど)。
実際には、現在のWeb版のバージョンがv1.13.8なので、v1.8.1のファームウェアに含まれていない機能などは使えないと思います(Graphとか)。
Web版は、互換のためにv1.4.5に切り替えることもできますが、v1.8.1との通信がうまくいくかはやっていないのでよく分かりません。
デモプログラムの他にもいくつかのサンプルプログラムも入っています。
これらの元から入っているプログラムは、UIFlowファームウェアを更新することで、失われますが、公式がGitHubで公開しているようですので、そこから書き戻すことができるようです。
前回は、ampyでgetしてバックアップしましたが、その後見つけたので、わざわざバックアップしなくてもここのものを使用すればよかったようです。

さて、私は、v1.13.4に更新後、デモプログラム(M5GO.py)を書き戻しましたが、最初に、どんなことができるのか、生徒にイメージをつけてもらうためにデモプログラムを触らせようと思っています。

M5GOが搭載している機能の紹介、A~CのGroveポートによる、同梱センサの使い方など、このデモプログラムはよくできています。
何より、触るだけで結構楽しいです。

ということで、(2)では、デモプログラムの内容について紹介しながら、M5GOの使い方について簡単に説明します。
紹介にあたって、画像を実機に表示されているものではなく、直接使用しますが、GitHubでも公開されているものなので、OKということにしてください。まずそうなら実機表示のものを撮影して差し替えますが…。

1.まずは電源を入れます。

電源ボタンは左側面にあります。バッテリーが充電されていれば、電源ボタンを押すと起動します。
USB Type-C端子からの電源供給もできます。USB Type-Cからの電源供給のときはケーブルを挿すと勝手に電源が入ります。

2.Hello画面

電源を入れて、しばらくすると、Hello.という初期画面が現れます。
M5Stackを始め、M5製品にはディスプレイを搭載しているものがほとんどですが、このように、画像がはじめから表示できる、というのは他のマイコンに比べて強力なアドバンテージです。
また、ボタンも搭載されています。M5GOは3つのボタンがありますが、このボタンを押したときの動作も自由にプログラムすることができます。
Nextを押して、次に進みます。

3.電源ON/OFFの説明

Nextを押すと次の画面に進み、電源のON/OFFの説明になります。
電源ボタンは1回押すと電源ONやリセットができます。
電源を切るには2回素早く押します。
ただし、USB給電中は電源が切れません。
このあたりの説明も、目で見て分かるのでいいですね。

4.スピーカー

M5GOは、右側面にスピーカーを内蔵しています。
真ん中のボタン(ボタンB)を押すと、ファームウェアv1.8.1のM5GOでは内蔵ストレージのwavファイルを鳴らすことができます。ファームウェアv1.10.1ではトーン音に変更されています。
ちなみに、ファームウェアv.1.8.1のM5GO.pyファイルを使って他バージョンのファームウェアで鳴らそうとすると鳴らなかったりします。

5.マイク

画面下部にマイクがあります。
M5GOに向かって喋ると、口の部分が波形になって表示されます。

6.9軸IMU(ジャイロセンサ)

ジャイロセンサが内蔵されています。「3軸加速度 + 3軸角速度 + 3軸方位センサ」の9軸センサです
M5GOを傾けてみましょう。傾きに応じて●が動きます。

7.RGBバー

M5GOには両側面にRGBバーが搭載されています。
片面5個ずつのRGBLEDです。
様々な色に光らせることができます

ここまでは、M5GOに内蔵されている機能です

8.Grove端子の説明

M5GOには、Grove端子(拡張端子)が3か所あります。M5Stack BasicにはGPIO端子がありますが、M5GOにはありません。

代わりを、このGrove端子で補っています。
3つは、役割が違い、赤い端子がAでI2C(SDA、SCL)、黒い端子がBでGPIO(Pin26、Pin36)、青い端子がUARTで(TXD、RXD)を担います。

Grove規格に対応したセンサ等をつないで制御することができます
M5Stack社が出しているものはUnitと呼ばれます。それぞれ、役割が違うので、センサなどに応じて端子A~Dを使い分けて使用します。
この後、キットに付属のUnitを使用する画面になりますが、キット付属のUnitは、基本的にはBを使い、最初のENV Unit(環境センサ)だけAを使います。ここからは拡張機能です。

9.温湿度気圧センサユニット

赤の端子(A)にGroveケーブルでつなげます。
温度、湿度、気圧が表示されます。
センサに息を吹きかけたり、手で温めたりしてみましょう。
個人的には℃じゃない('C)のと、hPaじゃないのが気になります。(別にいいけど)

10.PIRセンサユニット

PIR (人感センサ)です。焦電センサともいいます。
これ以降は、端子は黒の端子、Bです。
PIRセンサは、物体から発せられる赤外線の量の変化を検知し、人や動物などの動きを検知します。人を感知すると点くライトや防犯センサーに使われていますね。

11.RGB LEDユニット

RGB LEDです。
ユニットに2つ端子があるので、注意しましょう。
LEDから遠い方の端子です。RGB3つのLEDが点きます。

12.赤外線送受信ユニット

IR(赤外線)送信・受信ユニットです。
真ん中のボタンを押すと、透明なLEDから赤外線を送信します。
送信時は赤く表示されるので、送信状態が分かります。
試したときにはなぜか反応しないときがあったので、そうしたら、一回リセットをかけ、Next連打でここまで進めるとよいです。初期化の問題かな?
黒い方は受信部分です。赤外線は目に見えませんが、黒い部分で受け取ることができます。受信時も、赤く表示されます。ボタンを押してないのに赤くなる(=受信している)という感じです。
複数人で送信、受信、とかやるといいでしょう。カメラで赤外線LEDが光っているところを確認してもいいです。

13.回転角ユニット

10kΩポテンショメーターで、ツマミによる回転角の入力ができます。
要するに可変抵抗ですね。
デモプログラムとしては、ツマミをどのくらい回したかによって、LEDバーの明るさを調節することができます。

ここまでで、デモプログラムはおしまいです。
Nextを押すと、4のスピーカーに戻ります。

そのほか

デモプログラムにはありませんが、M5GOには、
そのほか、TF(microSD)カードスロットがあって、プログラムから書き込みや読み出しができます。

まとめ

M5GOで何ができるのか、デモプログラムを通して体験できるのは、多分、生徒の興味や、これからの学習への期待感を生むのではないかな、と思います。
ちなみに、自分は、ファームウェアの更新の後の再転送の際に、どうせなら、と、これも日本語化して転送しています。
例えば、「Hello.」を「こんにちは!」とか。
やんなきゃやんないでいいことですし、画像ファイルを公開できるものでもありませんが、そういうのも生徒の抵抗感を薄めるのではないかな、と思っています。


この記事が気に入ったらサポートをしてみませんか?