LSM6DSL(加速度和陀螺仪)
更新时间:2018-09-18 10:16:51
功能说明
加速度和陀螺仪传感器驱动。lsm6dsl 是一款具有数字加速度计和数字陀螺仪功能的低功耗传感器,通过 I2C 协议进行数据交互。
硬件资源
DevelopKit 开发板上自带有 lsm6dsl 传感器(下图红色圆圈处),并连接到 STM32 的 I2C2 端口;
软件设计
驱动配置
开发板板级管脚配置(board.json) 示范:</span>
"lsm6dsl":{
"type":"I2C",
"port":4,
"address_width":7,
"freq":400000,
"mode":1,
"dev_addr":214
}
应用示例
- 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 lsm6dsl。
- 编写测试 index.js 文件。
var lsm6dsl = require('lsm6dsl');
var handle = new lsm6dsl('lsm6dsl');
var accVal;
var gyroVal;
var lsm6dsl_val=[0,0,0,0,0,0];
var t1 = setInterval(function() {
var flag = 0;
accVal = handle.getAcc();
gyroVal = handle.getGyro();
if((lsm6dsl_val[0]==accVal[0])&&(lsm6dsl_val[1]==accVal[1])&&(lsm6dsl_val[2]==accVal[2])){
flag += 1;
}
if((lsm6dsl_val[3]==gyroVal[0])&&(lsm6dsl_val[4]==gyroVal[1])&&(lsm6dsl_val[5]==gyroVal[2])){
flag += 1;
}
console.log('xacc:'+accVal[0] + 'yacc:'+accVal[1] + 'zacc:'+accVal[2]);
console.log('xgyro:'+gyroVal[0] + 'ygyro:'+gyroVal[1] + 'zgyro:'+gyroVal[2]);
}, 1000);
运行验证
每隔一秒读取 sensor 的值,如果加速度或陀螺仪数据发生变化,则打印出来。