Miniscale Unit
Miniscale
是为微型称重传感器设计的接口,其中包括一个HX711 22位ADC。此传感器能够测量重量,并且还包括其他功能,如LED控制和各种滤波器。
支持以下产品:
Micropython Example:
import os, sys, io
import M5
from M5 import *
import time
from unit import MiniScaleUnit
i2c = I2C(0, scl=Pin(1), sda=Pin(2), freq=400000)
scale = MiniScaleUnit(i2c)
scale.setLed(255, 0, 0)
print(miniscale.weight)
UIFLOW2 Example:
class MiniScaleUnit
Constructors
- class MiniScaleUnit(i2c0)
创建一个 MiniScaleUnit 对象。
I2C0
is I2C Port.
UIFLOW2:
Methods
- MiniScaleUnit.adc()
获取原始的 ADC 读数。
UIFLOW2:
- MiniScaleUnit.weight()
获取以克为单位的重量读数。
UIFLOW2:
- MiniScaleUnit.button()
获取按钮状态。
UIFLOW2:
- MiniScaleUnit.tare()
Tare the scale.
UIFLOW2:
- MiniScaleUnit.set_led(r, g, b)
设置 RGB LED 的颜色。
r
: Red value (0 - 255).g
: Green value (0 - 255).b
: Blue value (0 - 255).
UIFLOW2:
- MiniScaleUnit.reset()
重置传感器。
UIFLOW2:
- MiniScaleUnit.calibration(weight1_g, weight1_adc, weight2_g, weight2_adc)
校准微型称重传感器。
weight1_g
: Weight1 in grams.weight1_adc
: Weight1 in ADC value.weight2_g
: Weight2 in grams.weight2_adc
: Weight2 in ADC value.
校准步骤:
重置传感器
得到adc,这是weight1_adc(应该是零)。而weight1_g也是0。
AI润色104/5000给它加一些权重,然后得到adc,这是weight2_adc。而weight2_g是以克为单位的重量。
UIFLOW2:
- MiniScaleUnit.set_low_pass_filter(enable)
启用或禁用低通滤波器
UIFLOW2:
- MiniScaleUnit.get_low_pass_filter()
返回低通滤波器的状态(是否启用)
UIFLOW2:
- MiniScaleUnit.set_average_filter_level(level)
设置平均滤波器的级别
level
:平均过滤器的电平(0 - 50)。更大的值可以获得更平滑的结果,但延迟更长
UIFLOW2:
- MiniScaleUnit.get_average_filter_level()
返回平均滤波器的级别
UIFLOW2:
- MiniScaleUnit.set_ema_filter_alpha(alpha)
设置EMA滤波器的alpha值。
与平均滤波器相比,EMA(指数移动平均)滤波器对数据的变化更敏感。
`` alpha``: EMA过滤器的alpha值(0 - 99)。较小的值可以获得更平滑的结果,但会增加延迟
UIFLOW2:
- MiniScaleUnit.get_ema_filter_alpha()
返回EMA滤波器的alpha值。
UIFLOW2: