# マイコン~ M5StickC Plus ~を始める

RP2040

# 目次

# 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」インストール...

# 「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と接続

USB-CでM5StickCPlusをPCと接続

# デバイスマネージャーを起動

デバイスマネージャーを起動

# 接続しているCOMポートを確認

接続しているCOMポートを確認

# M5Burnerのダウンロードを実行

  • M5Burnerの「COM」で先ほどのCOMポート番号を選択
  • STICKC > UIFLOW (STICKC PLUS) を選び、M5Burnerのダウンロードを実行

M5Burnerのダウンロードを実行

# firmwareの書き込みを実行

firmwareの書き込みを実行

# WiFi設定を登録(ご自宅のWifi環境のSSIDとパスワードとなります。)

WiFi設定を登録

# firmwareの書き込み開始

firmwareの書き込み開始

# firmwareの書き込み終了

  • Burn Successfullyとなっていることを確認します。

firmwareの書き込み終了

書込みに失敗したら

下記のような「Burn Failed」発生し、firmwareの書き込みに失敗した場合は、 COMポート番号の設定がうまくいっているか確認してください。

> M5Burnerのダウンロードを実行

Burn Failed

# M5StickC Plusの画面表示

下記のように8桁のAPIKEYが表示されていれば成功です。

firmwareの書き込み終了

# APIKEYを設定してUIFlowを起動し、ブラウザで開発

ブラウザでM5Flow (https://flow.m5stack.com/) (opens new window)にアクセスし、APIKEYを設定してUIFlowを起動します。

firmwareの書き込み終了

以下のように、画面左下に「接続済み」が表示されていればOKです。

firmwareの書き込み終了

# フラッシュ暗算アプリを作成

せっかくなので何かアプリを作ろうと思い、フラッシュ暗算をつくることにしました。 使うデバイスもディスプレイのみですし、子どもと楽しめるアプリだと思います。

# 完成したUIFlowの画面キャプチャです。

firmwareの書き込み終了

# 実際のプログラムソース

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へプログラムが書き込まれ実行できるようになります。

firmwareの書き込み終了

# 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にデータが書き込むことが出来ます。

firmwareの書き込み終了

ただし、注意点があります。

画面左下の「Download the m5 to device」を修正したい場合は、リセットを行う必要があります。 リセットはM5StickC Plusの左下にあるボタンになります。

このボタンを押した後、画面正面にあるAボタン(M5と書かれているボタン)を直ぐに押します。 これにより、M5StickC Plusをリセットすることができます。

firmwareの書き込み終了

リセットが正常に動作すれば、以下の画面に順次切り替わっていくと思います。

firmwareの書き込み終了

# まとめ

いかがだったでしょうか。個人的にはとても気軽に始められたと思います。 ここまでは始めの第一歩ですので、ここから創意工夫を重ねていけば、いろいろと出来そうですね。

Last Updated: 5/4/2021, 11:53:13 AM