1.2.3.6.1.23 LSM303C(6轴磁场加速度传感器)

优质
小牛编辑
126浏览
2023-12-01

更新时间:2018-09-17 12:25:37

功能说明

三轴磁场+三轴加速度传感器。lsm303c 是融合了三轴磁场&三轴加速度的传感器,其精度可达±8g (线性加速度)和 ±16 Gauss (磁场)</span>

硬件资源

1.DevelopKit 开发板
2.lsm303c 模块

1.png | center | 516x309

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
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 lsm303c。
  2. 编写测试 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 数据。