M5StackでUnit CardKB2 を使う

Using the Unit CardKB2 ・ 使用 Unit CardKB2

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
AtomS3 LiteControllergrove_i2c, gpio, usb_cofficial page — $7.5
Unit CardKB2unitgrove_i2c, grove_uart, usb_c, other:BLE HID (wireless), gpioofficial page — $9.95

配線

作り方

M5Stack AtomS3 LiteとUnit CardKB2をI2C接続でつなぎ、キーボード入力を受け取る最小構成のビルドです。AtomS3 LiteのGroveポート(Port.A)にCardKB2を接続するだけで、キーボードのキー入力をI2C経由で読み取れます。

  1. 部品を用意する — 用意するもの:M5Stack AtomS3 Lite(Core)、Unit CardKB2(キーボードユニット)、Groveケーブル(4ピン、オス-メス、ユニットに付属)、AtomS3 LiteとパソコンをつなぐUSB-Cケーブル。
  2. GroveケーブルでAtomS3 LiteとCardKB2をつなぐ — Groveケーブルの一端をCardKB2のGroveポート(HY2.0-4Pコネクタ)に差し込みます。もう一端をAtomS3 LiteのGroveポート(Port.A、赤色のI2Cポート)に差し込みます。コネクタは一方向にしか入らないので、無理に押し込まないでください。
  3. パソコンにつないでMicroPythonを書き込む — USB-CケーブルでAtomS3 Liteをパソコンにつなぎます。UIFlowやThonnyなどのツールで、AtomS3 LiteにMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  4. キーボード入力をテストする — コードを実行すると、AtomS3 Liteの画面(内蔵LED)にキーコードが表示されます。CardKB2のキーを押すと、対応するキーコードがシリアルモニタに出力されます。すべてのキーが正しく認識されるか確認してください。

サンプルコード(micropython)

# M5Stack AtomS3 Lite + Unit CardKB2 (I2C keyboard)
# Wiring: CardKB2 -> AtomS3 Lite Grove Port.A (I2C)
import time
from machine import Pin, I2C

# AtomS3 Lite I2C pins: SDA=GPIO1, SCL=GPIO2 (Port.A)
i2c = I2C(0, scl=Pin(2), sda=Pin(1), freq=100000)

CARDKB_ADDR = 0x5F  # default I2C address of CardKB2

while True:
    try:
        # Read 1 byte from CardKB2 (key code)
        data = i2c.readfrom(CARDKB_ADDR, 1)
        if data[0] != 0:  # 0 means no key pressed
            print('Key code:', hex(data[0]))
    except OSError as e:
        print('I2C error:', e)
    time.sleep(0.05)  # debounce delay

コツ・安全上の注意

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

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

エディタで開く →

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