pdf-icon

UIFlow 上手教程

UiFlow1 Blockly

Event

Unit

UiFlow1 项目配置

Unit AC Measure

案例程序

测量电流与电压

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)

功能说明

ac_measure_0.init_i2c_address(0x42)
  • 通过设置 I2C 端口和 地址来初始化 AC Measure 单元
print((str('ready:') + str((ac_measure_0.get_data_ready()))))
  • 数据就绪状态检查
print((str('active power:') + str((ac_measure_0.get_active_power_str()))))  
  • 获取有功功率
print((str('active power raw:') + str((ac_measure_0.get_active_power_byte()))))
  • 获取原始有功功率数据
print((str('apparent power:') + str((ac_measure_0.get_apparent_power_str()))))
  • 获取视在功率
print((str('apparent power raw:') + str((ac_measure_0.get_apparent_power_byte()))))
  • 获取原始视在功率数据
print((str('current:') + str((ac_measure_0.get_current_str()))))
  • 获取电流值
print((str('current coefficient:') + str((ac_measure_0.get_current_coeff()))))
  • 获取电流校准系数
print((str('current raw:') + str((ac_measure_0.get_current_byte()))))
  • 获取原始电流数据
print((str('firmware:') + str((ac_measure_0.get_device_status(0xFE)))))
  • 获取固件版本
print((str('kw:') + str((ac_measure_0.get_kwh_str()))))
  • 获取累计电能(千瓦时)
print((str('kw raw:') + str((ac_measure_0.get_kwh_byte()))))
  • 获取原始电能数据(千瓦时)
print((str('power factor:') + str((ac_measure_0.get_power_factor_str()))))
  • 获取功率因数
print((str('power factor raw:') + str((ac_measure_0.get_power_factor_byte()))))
  • 获取原始功率因数数据
print((str('voltage:') + str((ac_measure_0.get_voltage_str()))))
  • 获取电压值(伏特)
print((str('voltage coefficient:') + str((ac_measure_0.get_voltage_coeff()))))
  • 获取电压校准系数
print((str('voltage raw:') + str((ac_measure_0.get_voltage_byte()))))
  • 获取原始电压数据
ac_measure_0.set_current_coeff(100)
  • 设置电流校准系数
ac_measure_0.set_i2c_address(0x42)
  • 设置I2C通信地址
ac_measure_0.set_save_coeff()
  • 保存校准系数到非易失性存储器
ac_measure_0.set_voltage_coeff(100)
  • 设置电压校准系数
On This Page