# マイコン~ M5StickC Plus ~を始める
# 目次
# M5Stickc plusとは
M5Stack社が設計・製造するマイクロコントローラです。
特徴は、Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラであるESP32をベースに、機能拡張が容易にできるよう、モジュール式の積み重ね可能な製品として開発されたツールキットである点です。
M5StickC Plusは、48.2 x 25.5 x 13.7 mmの小型ながら、赤外線、RTC、マイクロフォン、LED、IMU、ボタン、PMICなど、豊富なハードウェアが内蔵されています。また、M5Stick用のHATやUnitファミリ製品(外付けの拡張モジュール)を利用できます。
以下の記事で、おススメのポイントを紹介しています。
マイコン~ M5Stack/M5Stick/M5Atom ~ 教育用としておススメの製品
# 今回作成するアプリ「フラッシュ暗算」
今回は「M5StickC Plus」で遊ぶための環境準備とサンプルとして「フラッシュ暗算」アプリを作ってみたいと思います。
# 開発準備(M5StickC Plusにfirmwareを書き込み)
M5Stack社の公式ホームページに手順が掲載されています。
UIFlow Quick Start (opens new window)
ただ公式ページの手順は、英語でMacOS向けですので、ここでは日本語でWindows用の準備手順を紹介したいと思います。
# 1.ドライバのインストール(Driver Installation)
Before the program is burned, M5Core host (including BASIC / GRAY / M5GO / FIRE / FACES) users please download the corresponding CP210X driver package according to the operating system you use. After decompressing the package,select the corresponding installation package base on your operating system digits.
プログラムを作成する前に、使用しているオペレーティングシステムに応じて対応するCP210Xドライバーパッケージをダウンロードしてください。
パッケージを解凍した後、オペレーティングシステムの数字に基づいて対応するインストールパッケージを選択します。
# ドライバのインストーラをダウンロード
# ダウンロードしたインストーラを実行
# 使用許諾契約に同意し、インストールを開始
# 「CP210x USB to UART Bridge Driver」インストール...
# 「CP210x USB to UART Bridge Driver」インストール完了
# 2. プログラム書き込みツール(Burning tool)
Please click the button below to download the corresponding M5Burner firmware burning tool according to your operating system. Unzip and open the application.
下のボタンをクリックして、オペレーティングシステムに応じて対応するM5Burnerファームウェア書き込みツールをダウンロードしてください。アプリケーションを解凍して開きます。
# 書込みツールのダウンロード
# 書込みツールの実行
# 書込みツール起動
# USB-CでM5StickC PlusをPCと接続
# デバイスマネージャーを起動
# 接続しているCOMポートを確認
# M5Burnerのダウンロードを実行
- M5Burnerの「COM」で先ほどのCOMポート番号を選択
- STICKC > UIFLOW (STICKC PLUS) を選び、M5Burnerのダウンロードを実行
# firmwareの書き込みを実行
# WiFi設定を登録(ご自宅のWifi環境のSSIDとパスワードとなります。)
# firmwareの書き込み開始
# firmwareの書き込み終了
- Burn Successfullyとなっていることを確認します。
書込みに失敗したら
下記のような「Burn Failed」発生し、firmwareの書き込みに失敗した場合は、 COMポート番号の設定がうまくいっているか確認してください。
# M5StickC Plusの画面表示
下記のように8桁のAPIKEYが表示されていれば成功です。
# APIKEYを設定してUIFlowを起動し、ブラウザで開発
ブラウザでM5Flow (https://flow.m5stack.com/) (opens new window)にアクセスし、APIKEYを設定してUIFlowを起動します。
以下のように、画面左下に「接続済み」が表示されていればOKです。
# フラッシュ暗算アプリを作成
せっかくなので何かアプリを作ろうと思い、フラッシュ暗算をつくることにしました。 使うデバイスもディスプレイのみですし、子どもと楽しめるアプリだと思います。
# 完成したUIFlowの画面キャプチャです。
# 実際のプログラムソース
from m5stack import *
from m5ui import *
from uiflow import *
import time
setScreenColor(0x111111)
anser = None
xx1 = None
Title = M5TextBox(80, 44, "FLASH!!", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=90)
suuji = M5TextBox(80, 99, "X1", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=90)
import random
suuji.hide()
Title.show()
wait(2)
Title.hide()
while not (btnB.wasPressed()):
suuji.hide()
anser = 0
for count in range(3):
xx1 = random.randint(1, 20)
suuji.setText(str(xx1))
suuji.show()
wait(1)
suuji.hide()
anser = anser + xx1
while not (btnA.wasPressed()):
wait_ms(500)
while not (btnA.wasPressed()):
suuji.setText(str(anser))
wait_ms(1000)
suuji.setText('NEXT')
wait_ms(500)
suuji.hide()
Title.setText('END')
Title.show()
# フラッシュ暗算アプリをM5StickC Plusに書き込む
# 動作確認と修正を繰り返し実施した場合
もし自分の手で書き写すのが大変であれば、 上記のプログラムソースを張り付ければ、同じように動くと思います。
プログラムを実行するときは、画面右上の矢印ボタンを押すと、 M5StickC Plusへプログラムが書き込まれ実行できるようになります。
# M5StickC Plusでフラッシュ暗算を動かす
実際にM5StickC Plusでフラッシュ暗算を動かした際の動画が、以下になります。
このレベルなら、まだまだ大丈夫そうでしょうか?
以下のパラメータを変更していくと、途端に難しくなるので、変更して遊んでみてください。
# 数値の範囲を「1~20」を「1~99」などにしてみる
xx1 = random.randint(1, 99)
# 数値の繰り返し回数を3回から、6回に増やしてみる
for count in range(6):
# 次の数値を表示する待ち時間を、0.5秒から0.2秒にしてみる
wait_ms(500)
# M5StickC Plusだけで実行したい場合(PCがなくても動作するようにしたい)
上記の書込みでは、PCとの接続が切れるとプログラムが失われてしまいます。 もしPCとの接続が切れた状態でもプログラムを実行したい場合は、画面左下の「Download the m5 to device」を押します。
これでM5StickC Plusにデータが書き込むことが出来ます。
ただし、注意点があります。
画面左下の「Download the m5 to device」を修正したい場合は、リセットを行う必要があります。 リセットはM5StickC Plusの左下にあるボタンになります。
このボタンを押した後、画面正面にあるAボタン(M5と書かれているボタン)を直ぐに押します。 これにより、M5StickC Plusをリセットすることができます。
リセットが正常に動作すれば、以下の画面に順次切り替わっていくと思います。
# まとめ
いかがだったでしょうか。個人的にはとても気軽に始められたと思います。 ここまでは始めの第一歩ですので、ここから創意工夫を重ねていけば、いろいろと出来そうですね。