Grove - 三轴指南针 V1.0

这款三轴数字指南针采用低场磁感应多芯片模块 HMC5883L,提供高达 1° 至 2° 的航向精度。HMC5883L 包含高分辨率的 HMC118X 系列磁阻传感器,以及由 Honeywell 开发的 ASIC,集成了放大、自动退磁带驱动器、偏移消除和 12 位 ADC。加上外围电源管理电路,这是一款易于使用且可靠的指南针模块,适用于低成本的导航和磁测应用。
规格
- 输入电压:3.3V,5V
- 睡眠模式电流:2.5uA
- 测量模式电流:640uA
- 高分辨率
- 易于控制的 I2C 接口
- 兼容 3.3V 或 5.0V 开发平台
- 最大 116Hz 输出速率
- 高航向精度
更多关于 Grove 模块的详细信息,请参考 Grove 系统
支持的平台
| Arduino | Raspberry Pi |
|---|---|
|
|
上述提到的支持平台仅表示模块的软件或理论兼容性。在大多数情况下,我们仅为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库或演示代码。因此,用户需要自行编写软件库。
入门指南
使用 Arduino
本演示将向您展示如何读取原始数据、如何使用当地磁偏角校准数据以及如何获取航向角。
首先,在进行任何操作之前,您需要准备一个将在演示中使用的参数——您的当地磁偏角。
您可以通过 磁偏角网页 以度为单位找到它。例如,我的磁偏角是 -2°37’,即 -2.617 度。
然后将其从度转换为弧度,得到 "declinationAngle"。例如,在我的情况下,declinationAngle = -2.617 * π / 180 = -0.0456752665 rad。保留三位有效数字即可。因此,我会将其缩短为 -0.0456 rad。这是您需要在演示代码中替换 "declinationAngle" 值的参数。
现在让我们开始运行您的指南针。
-
将三轴指南针插入 Grove - Base Shield 的 I2C 接口。
-
下载库文件:数字指南针库。将其解压到 Arduino IDE 的库文件路径:..\arduino-1.0.1\libraries。
-
打开演示代码,路径为:File -> Example -> Digital Compass -> HMC5883L_Example。

-
将变量 "declinationAngle" 的值替换为您已经计算出的值。
-
上传代码。
-
打开串口监视器检查输出结果。

使用 Raspberry Pi(配合 GrovePi_Plus)
-
您需要准备一个 Raspberry Pi 和一个 GrovePi 或 GrovePi+。
-
您需要完成开发环境的配置,否则请按照 这里 的说明进行操作。
-
连接
- 使用 Grove 电缆将传感器插入 GrovePi 的 i2c-x(1~3)接口。
-
导航到演示代码目录:
cd yourpath/GrovePi/Software/Python/
- 查看代码
nano grove_compass_lib.py
nano grove_compass_example.py
import grove_compass_lib
c=grove_compass_lib.compass()
while True:
print "X:",c.x,"Y:",c.y,"X:",c.z,"Heading:",c.headingDegrees
c.update()
time.sleep(.1)
- 运行演示代码。
sudo python grove_compass_example.py
在线原理图查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时能够获得尽可能顺畅的体验。我们提供多个沟通渠道,以满足不同的偏好和需求。


