Skip to main content

M5: VSCode で UIFlow MicroPython による開発

M5Stack に UIFlow が動作するファームウェアを焼くことで、UIFlow のサイトでビジュアルプログラミングするほか、MicroPython によるプログラムを動作させることができます。

※UIFlow に含まれる MicroPython は M5Stack Micropython Base Lobo MicroPython - GitHub がベースになっているようなのですが、buttonA でなく btnA という名前になっているので注意。

Prerequisite​

Prepare​

  1. PC にシリアルドライバーをインストールして接続する

  2. M5Burner を使って M5Stack に UIFlow ファームウェアを焼く

    Burn

  3. UIFlow を USB モードに設定する (設定は本体上でおこなうこともできます。)

Configurate

Howto​

vscode-m5stack-mpy を参考。

  1. 「Add M5Stack」で、M5Stack のシリアルポートを選択して接続
  2. 「M5STACK DEVICE」に M5Paper 内のファイル一覧が表示されるので、適当な場所にプログラムファイルを保存して「Run in M5Stack」

Sample​

Hello world​

M5Stack の場合

from m5stack import lcd

lcd.clear()
lcd.setColor(lcd.WHITE)
lcd.setCursor(0, 0)
lcd.print("Hello, M5Stack")

M5Paper の場合 (E Ink ディスプレイのためか、若干方法が異なるようです?)

from m5stack import lcd

lcd.fillScreen(15)
lcd.font(lcd.FONT_DejaVu24)
lcd.setTextColor(0, 15)
lcd.text(30, 450, "Hello, M5Paper")
lcd.show()

M5Stack Core のハードウェアボタン(A/B/C)からの入力​

buttonA でなく btnA という名前になっているので注意。

from m5stack import btnA

def on_wasPressed():
lcd.print("Pressed")

btnA.wasPressed(on_wasPressed)

温湿度センサー(SHT30)から値を取得する​

ENV II Unit (SHT30+BMP280) を接続します。M5Paper には SHT30 が内蔵されていますが、外気温の計測用途ではないと思います。

from machine import I2C, Pin
from sht30 import SHT30

def get_temp_hum():
i2c = I2C(freq=100000, scl=Pin(22), sda=Pin(21))
sht30_sensor = SHT30(i2c)
return sht30_sensor.measure()

温度の単位は℃です。

気圧センサー(BMP280)から値を取得する​

from machine import I2C, Pin
from bmp280 import BMP280

def get_pressure():
i2c = I2C(freq=100000, scl=Pin(22), sda=Pin(21))
bmp280_sensor = BMP280(i2c)
return bmp280_sensor.values[1]

値の単位は hPa です。