QMC5883(电子罗盘)
更新时间:2018-09-17 12:24:23
功能说明
电子罗盘驱动。QMC5883 是一款电子罗盘芯片,我们会读取该芯片的 xyz 轴的值,并把读取的数据打印在终端上。
硬件资源
1.DevelopKit 开发板
2.QMC5883 模块
3.接线
qmc5883 GND 引脚接 DevelopKit GND 引脚
qmc5883 VCC 引脚接 DevelopKit VCC 引脚
qmc5883 SCL 引脚接 DevelopKit SCL 引脚
qmc5883 SDA 引脚接 DevelopKit SDA 引脚
软件设计
在读写 qmc5883 时要注意,寄存器 0x0b、0x20、0x21、0x09 一般在初始化的时候要进行配置,这些寄存器和精度量程等参数相关,xyz 轴的值在寄存器 0x00-0x05,其中 0x06 是状态寄存器,bit0 用来检测数据是否可读,在每次读取数据时候,尽量去检测该 bit。
驱动配置
开发板板级管脚配置(board.json) 示范:</span>
"qmc5883":{
"type":"I2C",
"port":1,
"address_width":7,
"freq":100000,
"mode":1,
"dev_addr":26
}
应用示例
- 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 qmc5883。
- 编写测试 index.js 文件。
var qmc5883 = require('qmc5883');
var handle = new qmc5883('qmc5883');
setInterval(function() {
var val = handle.getXYZ();
console.log('qmc5883->x:'+val[0]+'y:' + val[1] +' z:'+val[2]);
}, 1000);
运行验证
定时读取 qmc5883 xyz 轴的 raw 数据并打印出来。