M5StackでDual Kmeter Module 13.2 を使う

Using the Dual Kmeter Module 13.2 ・ 使用 Dual Kmeter Module 13.2

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

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

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack Core2Controllergrove_i2c, grove_analog, grove_uart, mbusofficial page — $46.9
Dual Kmeter Module 13.2modulembus, i2cofficial page — $23.9

配線

作り方

M5Stack Core2にDual Kmeter Module 13.2をスタックして、2つのK型熱電対で温度を測定する装置です。モジュールはCore2のM-Busに直接接続し、I2C通信で温度データを読み取ります。

  1. 部品を用意する — 用意するもの:M5Stack Core2本体、Dual Kmeter Module 13.2、K型熱電対2本(別売)、Core2とパソコンをつなぐUSB-Cケーブル。
  2. モジュールをスタックする — Core2の底面にあるM-Busコネクタに、Dual Kmeter Module 13.2のオスコネクタを合わせて、しっかりと押し込みます。向きに注意し、無理に押し込まないでください。
  3. 熱電対を接続する — Dual Kmeter Moduleには2つの熱電対入力端子があります。K型熱電対のプラグを、チャンネル1(CH1)とチャンネル2(CH2)に差し込みます。極性に注意し、赤がプラス、青(または白)がマイナスです。
  4. パソコンにつないでMicroPythonを書き込む — USB-CケーブルでCore2をパソコンにつなぎます。UIFlowやThonnyなどのツールで、Core2にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  5. 温度を確認する — コードを実行すると、Core2の画面にチャンネル1とチャンネル2の温度が表示されます。熱電対の先端を指でつまんだり、氷水に入れたりして温度変化を確認してください。

サンプルコード(micropython)

# M5Stack Core2 + Dual Kmeter Module 13.2
# Wiring: Module stacked via M-Bus (I2C address 0x11)
import time
from machine import Pin, I2C
from m5stack import lcd

# Initialize I2C on Core2's internal bus (scl=22, sda=21)
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)

# Dual Kmeter Module I2C address
ADDR = 0x11

# Register addresses (from datasheet)
REG_CH1_TEMP = 0x00  # 2 bytes, signed integer (0.1°C per LSB)
REG_CH2_TEMP = 0x02

def read_temp(channel):
    if channel == 1:
        reg = REG_CH1_TEMP
    else:
        reg = REG_CH2_TEMP
    data = i2c.readfrom_mem(ADDR, reg, 2)
    raw = (data[0] << 8) | data[1]
    if raw & 0x8000:  # negative
        raw -= 0x10000
    return raw * 0.1  # convert to Celsius

while True:
    try:
        t1 = read_temp(1)
        t2 = read_temp(2)
        lcd.clear()
        lcd.print('CH1: %.1f C' % t1, 10, 20)
        lcd.print('CH2: %.1f C' % t2, 10, 60)
    except Exception as e:
        lcd.clear()
        lcd.print('Error: ' + str(e), 10, 20)
    time.sleep(1)

コツ・安全上の注意

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

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

エディタで開く →

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