M5StackでUnit ByteSwitch を使う

Using the Unit ByteSwitch ・ 使用 Unit ByteSwitch

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

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

部品リスト(BOM)

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

配線

作り方

M5Stack Core2とUnit ByteSwitchをI2C接続でつなぐ、最小構成の組み立てガイドです。ByteSwitchは8個のトグルスイッチと9個のプログラム可能なRGB LEDを備えた入力ユニットで、Core2からI2C経由でスイッチの状態を読み取ったり、LEDを制御したりできます。

  1. 部品を用意する — 用意するもの:M5Stack Core2本体、Unit ByteSwitch、Groveケーブル(I2C用、赤色コネクタ)、Core2とパソコンをつなぐUSB-Cケーブル。
  2. GroveケーブルでCore2とByteSwitchをつなぐ — ByteSwitchはI2C通信(赤色Groveポート)を使います。Groveケーブルの一端をByteSwitchのGroveポートに、もう一端をCore2の赤いPort.A(I2Cポート)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. パソコンにつないでMicroPythonを書き込む — USB-CケーブルでCore2をパソコンにつなぎます。UIFlowやThonnyなどのツールで、Core2にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  4. スイッチの動作を確認する — コードを実行すると、Core2の画面に各スイッチの状態(ON/OFF)が表示されます。ByteSwitchのトグルスイッチを上下に動かして、画面の表示が変わることを確認してください。また、スイッチに連動してLEDの色が変わる様子も確認できます。

サンプルコード(micropython)

# M5Stack Core2 + Unit ByteSwitch (I2C)
# Wiring: ByteSwitch -> Core2 red Port.A (I2C)
import time
from machine import Pin, I2C
from m5stack import lcd

# I2C setup on Port.A (Core2: sda=21, scl=22)
i2c = I2C(0, sda=Pin(21), scl=Pin(22), freq=100000)

# ByteSwitch I2C address (default 0x20)
ADDR = 0x20

# Register addresses (from datasheet)
REG_INPUT = 0x00      # read switch states (8 bits)
REG_LED = 0x01        # write LED states (8 bits, 0=off, 1=on)

# Initialize: turn off all LEDs
i2c.writeto_mem(ADDR, REG_LED, b'\x00')

while True:
    # Read switch states
    data = i2c.readfrom_mem(ADDR, REG_INPUT, 1)
    switches = data[0]
    
    # Display on screen
    lcd.clear()
    lcd.print('ByteSwitch States:', 10, 20)
    for i in range(8):
        state = (switches >> i) & 1
        lcd.print('SW%d: %s' % (i+1, 'ON' if state else 'OFF'), 10, 50 + i*20)
    
    # Set LEDs to match switches (optional)
    i2c.writeto_mem(ADDR, REG_LED, bytes([switches]))
    
    time.sleep(0.2)

コツ・安全上の注意

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

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

エディタで開く →

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