M5Stack PR

【入門者向け】M5Stack Core2 の使い方 UIFlow MicroPythonでのプログラミング【Windows】

記事内に商品プロモーションを含む場合があります

はじめに

人気のIoTモジュールM5Stack Core2を、Python(MicroPython)でプログラミングする方法を解説します。開発環境は公式の環境の「UIFlow」を使用します。

Blocklyの解説ではラベルのみだったので、今回は画面にスイッチを配置して「スイッチに応じてラベルの内容を変化させるプログラム」の作り方を解説します。

※ クリックすると各項目へジャンプできます

環境

この記事は以下の環境で作成しています。

環境 バージョン
モジュール  M5Stack Core2
開発用PCのOS Windows10
UIFlow Ver.1.9.0

M5Stack Core2 をはじめよう

M5Stack Core2は、USBケーブル(TypeA-TypeC)も付属なので、すぐに始めることができます。セットアップ方法については、こちらの記事をご覧ください。

¥5,990 (2022/03/30 18:04時点 | Amazon調べ)

こちらの記事で「おすすめ工具」も紹介しています。

実行結果

後述するコードで、「スイッチに応じてラベルの内容を変化させるプログラム」を作ることができます。実行時の画像(M5Stack Core2の画面)は以下の通りです。

掲載プログラムの実行結果(スイッチONにした場合)
スイッチONのときの画面
掲載プログラムの実行結果(スイッチOFFにした場合)
スイッチOFFのときの画面

全体コード

全体コードは以下の通りです。

from m5stack import *
from m5stack_ui import *
from uiflow import *

screen = M5Screen()
screen.clean_screen()
screen.set_screen_bg_color(0xFFFFFF)

# ラベル・スイッチの設定です。
label0 = M5Label('Text', x=68, y=59, color=0x000, font=FONT_MONT_28, parent=None)
switch0 = M5Switch(x=30, y=10, w=70, h=30, bg_c=0xCCCCCC, color=0x0288FB, parent=None)

# 100回ループします
for i in range(1):
  
  # スイッチ操作を3秒待ちます
  wait(3)

  # スイッチがONの場合のラベルを設定します
  if switch0.get_state() == True:
    label0.set_text("Switch is ON")
    
  # スイッチがOFFの場合のラベルを設定します
  else:
    label0.set_text("Switch is OFF")
    
# ループが終了したことをラベルに表示します
label0.set_text("Program is done. ")

コードのポイント

秒指定で停止させる

スイッチ操作を待つための、プログラムに停止処理を入れています。

wait関数は、秒指指定で処理を停止します。スイッチはwait中も操作することが可能です。

wait_ms関数を使えばミリ秒単位で停止させることもできます。

  # スイッチ操作を3秒待ちます
  wait(3)

スイッチ状態の取得とラベル(テキスト)の変更

get_state関数により、スイッチの状態をBool値で取得しています。取得した状態に合わせて、ラベルの表示内容を変更しています。

  • スイッチON :True
  • スイッチOFF:False
 # スイッチがONの場合のラベルを設定します
  if switch0.get_state() == True:
    label0.set_text("Switch is ON")
    
  # スイッチがOFFの場合のラベルを設定します
  else:
    label0.set_text("Switch is OFF")

まとめ

M5Stack Core2を、Python(MicroPython)でプログラミングする方法を解説しました。この記事の内容がお役に立てればうれしいです。

その他の記事

M5Stack Core2で使える開発環境についてもまとめています。興味のある方は以下もご覧ください。

M5Stackを詳しく知るには

M5Stackをより詳しく知りたい方は、こちらの書籍がおおすすめです。書籍の中で使われているのは、M5Stack Basic + Arduino言語ですが、M5Stackの概要・構成などをより詳しく学べます。

質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です