2 个不稳定版本
0.2.0 | 2024年1月13日 |
---|---|
0.1.0 | 2023年10月19日 |
#598 在 硬件支持
42 每月下载量
32KB
253 行
hx711
一个针对 ESP32 的 hx711 的无 std Rust 库。
概述
HX711 是一个称重传感器放大器。通过将放大器连接到微控制器,您将能够读取称重传感器电阻的变化,并且通过一些校准,您将能够获得非常精确的重量测量。这可以用来创建自己的工业秤、过程控制或简单的存在检测。
此驱动程序实现了在此 数据表 中描述的必需的位打孔,并抽象出详细细节,以提供通用的 LoadCell
接口,具有缩放测量(校准)和偏移测量(去皮)的功能。
此库大量使用 embedded-hal
,整个阻塞方法足够通用,适用于任何由 embedded-hal
支持的设备(测试帮助非常受欢迎)。中断方法目前仅适用于 esp32,利用 esp32-hal
。
有关硬件和连接的更多信息,请参阅 sparkfun 的全面指南。
安装
此 crate 在 crates.io 上,这意味着您可以通过在您的 cargo.toml
中包含此行来安装它
loadcell = "0.1.0"
使用
/examples/
文件夹提供了库的关键用法。
构造函数将拥有提供的引脚
let mut load_sensor = hx711::HX711::new(hx711_sck, hx711_dt, delay);
然后可以使用此 load_sensor
对象
// zero the sensor
load_sensor.tare(16);
// set the sensitivity/scale
load_sensor.set_scale(1.0);
loop {
if load_sensor.is_ready() {
let reading = load_sensor.read_scaled();
esp_println::println!("Last Reading = {:?}", reading);
}
delay.delay_ms(5u32);
}
校准
假设称重传感器的输出是一个将原始测量值 (x
) 映射到输出测量值 (y
) 的线性函数。当称重传感器初始化时,它有一些偏移量 (c
)。必须校准设备以确定灵敏度 (m
),可以通过以下公式完成
y = mx + c
首先,可以通过“零点”称重传感器来确定偏移量 (c
)。使用 tare
函数来完成此操作,并自动使用 num_samples
样本计算偏移量。
其次,这应该对每个单独的负载单元进行,通过在秤上放置已知质量,可以计算出m
值。如果您知道y
、x
和c
的值,则可以通过以下公式计算m
的值:
m = (y-c)/x
我个人从m = 1
开始,并调整它,直到y
与秤上的质量匹配。
依赖项
~0.1–2.4MB
~47K SLoC