M5StackでUnit UWB を使う

Using the Unit UWB ・ 使用 Unit UWB

M5StackのUnit UWBをコントローラーに接続する最小構成。配線とBOMつき。

この構成をエディタで開く・編集する →

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack Core2Controllergrove_i2c, grove_analog, grove_uart, mbusofficial page — $46.9
Unit UWBunitgrove_uartofficial page — $55

配線

作り方

M5Stack Core2とUnit UWB(超広帯域無線モジュール)を使って、屋内での距離測定や位置検出ができるシンプルなシステムです。Core2がUWBユニットとシリアル通信(UART)でやり取りし、距離データを取得します。配線はGroveケーブル1本で完了する、かんたんな構成です。

  1. 部品を用意する — 用意するもの:M5Stack Core2本体、Unit UWB(BU01モジュール搭載)、Groveケーブル(UART用、青いコネクタのもの)、Core2とパソコンをつなぐUSB-Cケーブル。
  2. GroveケーブルでCore2とUnit UWBをつなぐ — Unit UWBはUART(シリアル)通信を使います。Groveケーブルの一端をUnit UWBのポートに差し込みます。もう一端をCore2の青いPort.C(UARTポート)に差し込みます。コネクタは一方向にしか入らないので、向きを確認して軽く押し込んでください。
  3. Core2に電源を入れる — USB-CケーブルでCore2をパソコンに接続するか、内蔵バッテリーで電源を入れます。Core2の画面が点灯すれば準備完了です。
  4. パソコンに接続してMicroPythonコードを書き込む — USB-CケーブルでCore2をパソコンに接続します。UIFlowまたはThonnyなどのツールを使って、Core2にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  5. 動作を確認する — コードを実行すると、Core2の画面にUnit UWBからの距離データ(センチメートル単位)が表示されます。UWBユニットの近くに別のUWBタグやアンカーを置くと、距離が変化するはずです。

サンプルコード(micropython)

# M5Stack Core2 + Unit UWB (UART communication)
# Wiring: Unit UWB -> Core2 blue Port.C (UART)
import time
from machine import UART
from m5stack import lcd

# Initialize UART on Port.C (TX=13, RX=14 for Core2)
uart = UART(2, baudrate=115200, tx=13, rx=14)

lcd.clear()
lcd.print('UWB Distance Reader', 10, 20)

while True:
    if uart.any():
        data = uart.readline()
        if data:
            # Assume data is ASCII distance in cm (e.g., "123.4 cm\n")
            try:
                dist_str = data.decode().strip()
                lcd.clear()
                lcd.print('Distance:', 10, 60)
                lcd.print(dist_str, 10, 100)
            except:
                pass
    time.sleep(0.1)

コツ・安全上の注意

この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。

この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。

エディタで開く →

UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。