M5Stackで電力モニター

Power / energy meter ・ 功率监测

AC Measure ユニットを I2C 接続して交流電圧・電流・電力を測定します。

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

部品リスト(BOM)

部品役割ポートリンク・価格
M5Stack Core2Controllergrove_i2c, grove_analog, grove_uart, mbusofficial page — $46.9
Unit AC MeasureAC Voltage/Current/Powergrove_i2cofficial page — $10.5

配線

作り方

M5Stack Core2とAC Measureユニットを使って、家庭用コンセントの電圧・電流・電力を測定する装置です。I2C接続でCore2がデータを読み取り、画面に表示します。

  1. 部品を用意する — 用意するもの:M5Stack Core2本体、AC Measureユニット、Groveケーブル(I2C用、赤色)、USB-Cケーブル。
  2. Groveケーブルで接続する — AC MeasureユニットはI2C接続です。Groveケーブルの一端をAC MeasureユニットのGroveポートに、もう一端をCore2の赤いPort.A(I2Cポート)に差し込みます。コネクタの向きに注意し、無理に押し込まないでください。
  3. パソコンに接続してMicroPythonを書き込む — USB-CケーブルでCore2をパソコンに接続します。UIFlowまたはThonnyなどのツールで、Core2にMicroPythonファームウェアが入っていることを確認し、下のコードをデバイスにコピーして実行します。
  4. AC Measureユニットを電源に接続する — AC Measureユニットの入力端子(AC IN)を測定したいコンセントに、出力端子(AC OUT)を負荷(家電など)に接続します。ユニットの定格(AC 100〜240V、最大10A)を超えないように注意してください。
  5. 測定値を確認する — コードを実行すると、Core2の画面に電圧(V)、電流(A)、電力(W)が表示されます。負荷を変えて値が変化することを確認してください。

サンプルコード(micropython)

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

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

# HLW8032 registers (example addresses, adjust per datasheet)
VOLTAGE_REG = 0x00
CURRENT_REG = 0x01
POWER_REG = 0x02

def read_register(reg, length=2):
    data = i2c.readfrom_mem(0x10, reg, length)  # 0x10 is typical I2C address
    value = int.from_bytes(data, 'big')
    return value

while True:
    try:
        voltage = read_register(VOLTAGE_REG) / 100.0  # scale factor
        current = read_register(CURRENT_REG) / 1000.0
        power = read_register(POWER_REG) / 10.0
        lcd.clear()
        lcd.print('Voltage: {:.1f} V'.format(voltage), 10, 20)
        lcd.print('Current: {:.3f} A'.format(current), 10, 50)
        lcd.print('Power: {:.1f} W'.format(power), 10, 80)
    except Exception as e:
        lcd.clear()
        lcd.print('Error: ' + str(e), 10, 20)
    time.sleep(2)

コツ・安全上の注意

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

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

エディタで開く →

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