LSM303C(6轴磁场加速度传感器)
更新时间:2018-09-17 12:25:37
功能说明
三轴磁场+三轴加速度传感器。lsm303c 是融合了三轴磁场&三轴加速度的传感器,其精度可达±8g (线性加速度)和 ±16 Gauss (磁场)</span>
硬件资源
1.DevelopKit 开发板
2.lsm303c 模块
3.接线
LSM303C 模块 SCL 引脚接 DevelopKit I2C2 的 SCL 引脚;
LSM303C 模块 SDA 引脚接 DevelopKit I2C2的 SDA 引脚;
LSM303C 模块 VCC 引脚接 DevelopKit VCC 引脚;
LSM303C 模块 GND 引脚接 DevelopKit GND 引脚;
软件设计
lsm303c 支持 i2c 以及 spi 通讯,这里采用 i2c 通讯的模式。其中寄存器 0x28-0x2d 存储的是 acc 相关的值,在读取 acc 值之前,需要对控制寄存器 0x27 进行设置。
驱动配置
开发板板级管脚配置(board.json) 示范:</span>
"lsm303c":{
"type":"I2C",
"port":2,
"address_width":7,
"freq":100000,
"mode":1,
"dev_addr":58
}
应用示例
- 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 lsm303c。
- 编写测试 index.js 文件。
console.log('app for lsm303c!');
var lsm303c = require('lsm303c');
var handle = new lsm303c('lsm303c');
var getVal = function(){
var temp = handle.getAcc();
console.log('XL:'+temp[0]);
console.log('XH:'+temp[1]);
console.log('YL:'+temp[2]);
console.log('YH:'+temp[3]);
console.log('ZL:'+temp[4]);
console.log('ZH:'+temp[5]);
}
var t = setInterval(getVal, 3000);
运行验证
每间隔3s读取 acc 的 raw 数据。