3个稳定版本
使用旧版Rust 2015
1.0.2 | 2016年9月19日 |
---|---|
1.0.1 | 2016年9月18日 |
#19 in #磁力计
4KB
hmc5883l-rs
HMC5883L磁力计的Rust库
此代码允许您在Rust中从HMC5883L磁力计读取x、y、z值。此代码只能在Linux平台上运行,并且仅在Raspberry Pi 3上使用此HMC5883L模块进行了测试:[https://www.sparkfun.com/products/10530](https://www.sparkfun.com/products/10530)
此板的默认I2C地址为0x1E,但如果您有不同型号的板或裸IC,请查阅数据手册以获取适当的地址。
基本用法
let mut mag = HMC5883L::new("/dev/i2c-1", 0x1E).unwrap();
loop {
let (x, y, z) = mag.read().unwrap();
println!("x={}, y={}, z={}", x, y, z);
thread::sleep(Duration::from_millis(100));
}
接线
您需要将Pi上的SDA和SCL连接到磁力计的相应引脚,以及连接3.3V和GND。
运行示例
目前有两个示例。`magnetometer`示例显示了原始的x、y、z值,而`compass`示例在此基础上还计算了大约的航向。
cargo run --example compass
您应该看到如下输出。值会随着您移动磁力计而改变。
x=7.0, y=19.9, z=-16.4 uT: heading=83.2
x=4.6, y=21.4, z=-15.8 uT: heading=90.4
x=4.0, y=21.8, z=-16.0 uT: heading=92.2
x=24.5, y=-21.3, z=-14.0 uT: heading=331.7
x=24.7, y=-9.5, z=-16.8 uT: heading=351.7
x=25.4, y=-8.5, z=-16.3 uT: heading=354.0
依赖项
~2–3MB
~58K SLoC