pdf-icon

UIFlow Guide

UiFlow1 Blockly

Event

Unit

UiFlow1 Project

Unit AC Measure

Example

Measure current and voltage

from m5stack import *
from m5ui import *
from uiflow import *
import time
import unit

setScreenColor(0x000000)
ac_measure_0 = unit.get(unit.AC_MEASURE, unit.PORTA)

isdata = None

ac_measure_0.init_i2c_address(0x42)
print((str('FW VER:') + str((ac_measure_0.get_device_status(0xFE)))))
while True:
  isdata = ac_measure_0.get_data_ready()
  if isdata:
    print((str('VOLTAGE:') + str((ac_measure_0.get_voltage_str()))))
    print((str('CURRENT:') + str((ac_measure_0.get_current_str()))))
    print((str('POWER:') + str((ac_measure_0.get_active_power_str()))))
    print((str('KW/H') + str((ac_measure_0.get_kwh_str()))))
  wait(1)
  wait_ms(2)

API

ac_measure_0.init_i2c_address(0x42)
  • Initialize AC Measure Unit
print((str('ready:') + str((ac_measure_0.get_data_ready()))))
  • Data Ready Status Check
print((str('active power:') + str((ac_measure_0.get_active_power_str()))))  
  • Get Active Power
print((str('active power raw:') + str((ac_measure_0.get_active_power_byte()))))
  • Get Raw Active Power Data
print((str('apparent power:') + str((ac_measure_0.get_apparent_power_str()))))
  • Get Apparent Power
print((str('apparent power raw:') + str((ac_measure_0.get_apparent_power_byte()))))
  • Get Raw Apparent Power Data
print((str('current:') + str((ac_measure_0.get_current_str()))))
  • Get Current Value
print((str('current coefficient:') + str((ac_measure_0.get_current_coeff()))))
  • Get Current Calibration Coefficient
print((str('current raw:') + str((ac_measure_0.get_current_byte()))))
  • Get Raw Current Data
print((str('firmware:') + str((ac_measure_0.get_device_status(0xFE)))))
  • Get Firmware Version
print((str('kw:') + str((ac_measure_0.get_kwh_str()))))
  • Get Cumulative Energy (kWh)
print((str('kw raw:') + str((ac_measure_0.get_kwh_byte()))))
  • Get Raw Energy Data (kWh)
print((str('power factor:') + str((ac_measure_0.get_power_factor_str()))))
  • Get Power Factor
print((str('power factor raw:') + str((ac_measure_0.get_power_factor_byte()))))
  • Get Raw Power Factor Data
print((str('voltage:') + str((ac_measure_0.get_voltage_str()))))
  • Get Voltage Value (Volts)
print((str('voltage coefficient:') + str((ac_measure_0.get_voltage_coeff()))))
  • Get Voltage Calibration Coefficient
print((str('voltage raw:') + str((ac_measure_0.get_voltage_byte()))))
  • Get Raw Voltage Data
ac_measure_0.set_current_coeff(100)
  • Set Current Calibration Coefficient
ac_measure_0.set_i2c_address(0x42)
  • Set I2C Communication Address
ac_measure_0.set_save_coeff()
  • Save Calibration Coefficients to NVM
ac_measure_0.set_voltage_coeff(100)
  • Set Voltage Calibration Coefficient
On This Page