3个不稳定版本
0.2.0 | 2023年10月29日 |
---|---|
0.1.1 | 2023年7月12日 |
0.1.0 | 2023年3月14日 |
#603 in 嵌入式开发
1MB
5.5K SLoC
bma400-rs
使用embedded-hal
特质实现的BMA400加速度计的平台无关Rust驱动程序
状态
- 支持基本传感器功能
- 支持SPI
- 支持可编程(自定义)中断
- 测试
- 文档
- 更多示例
基本用法
I²C - cargo add bma400 --features=i2c-default
// Import an embedded hal implementation
use linux_embedded_hal::I2cdev; // replace as appropriate w/ hal crate for your MCU
use bma400::{
BMA400,
PowerMode,
Scale,
};
// i2c implements embedded-hal i2c::WriteRead and i2c::Write
let mut accelerometer = BMA400::new_i2c(i2c).unwrap();
SPI - cargo add bma400 --features=spi
// Import an embedded hal implementation
use linux_embedded_hal::{
Spidev,
Pin
}; // replace as appropriate w/ hal crate for your MCU
use bma400::{
BMA400,
PowerMode,
Scale,
};
// spi implements embedded-hal spi::Transfer and spi::Write
// csb_pin implements embedded-hal digital::v2::OutputPin
let mut accelerometer = BMA400::new_spi(spi, csb_pin).unwrap();
从这里开始,两者的API相同
// The accelerometer is in sleep mode at power on
// Let's wake it up and set the scale to 2g
accelerometer
.config_accel()
.with_power_mode(PowerMode::Normal)
.with_scale(Scale::Range2G)
.write().unwrap();
// Read a single measurment
if let Ok(measurement) = accelerometer.get_data() {
assert_eq!(30, measurement.x);
assert_eq!(16, measurement.y);
assert_eq!(988, measurement.z);
}
有关在nrf52833上使用GPIO引脚映射到的触觉中断的完整示例,请参阅examples/
。
关于传感器
(来自制造商)
基本描述
12位,数字,三轴加速度传感器,具有智能片上运动和位置触发的中断功能。
主要功能
- 小型封装尺寸
- LGA封装(12针),尺寸2mm x 2mm,高度0.95mm
- 超低功耗
- 低功耗数据采集,性能不受影响(最高性能下<14.5 µA)
- 可编程功能
- 加速度范围±2g/±4g/±8g/±16g
- 低通滤波器带宽=(0.24/0.48)*ODR,最大输出数据读取为800Hz
- 片上FIFO
- 传感器上集成1 KB FIFO
- 片上中断功能
- 自动低功耗/自动唤醒
- 活动/非活动
- 计步器(整体设备电流消耗4µA)
- 活动识别(行走、跑步、静止不动)
- 方向检测
- 轻敲/双击
- 数字接口
- SPI(4线,3线)
- I²C,
- 2个中断引脚
- VDDIO电压范围:1.2V至3.6V
- 符合RoHS,无卤素
典型应用
- 具有超低电流消耗的计步器,以延长电池寿命
- 适用于移动应用程序和(智能)手表的先进系统电源管理
- 健身应用程序/活动跟踪
- 轻敲/双击感应
- 掉落检测以记录保修信息
- 用于气候控制和报警系统的门窗尺寸测量
- 由纽扣电池供电的物联网应用,需要小于1µA的电流和自动唤醒功能
许可
根据您的选择,许可协议可以是以下之一
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则您根据Apache-2.0许可协议提交的任何有意包含在作品中的贡献,将按上述方式许可,不附加任何额外条款或条件。