和MPU6050类似,都是I2C协议,很多人把HMC5883的SDA、SCL引脚挂到MPU6050的XDA、XCL引脚上,可以直接输出数据融合后的信息,但这方面我还不大懂,就把它们分开使用了,占用了4个单片机的引脚。
注意使用HMC5883L时,周围不要有强磁场的干扰。单独使用程序问题不大,读出的方向变化线性并不十分好,还需要进一步优化代码或者硬件。
下载程序,可在液晶屏上看到direction,可以自己定义东西南北,连接PL2303小板,打开串口调试助手,水平缓慢转动慕司板,即可看到对应的HMC5883L的数值(0~360)变化:
完整工程参见资源汇总帖.
原作于 2014年10月
CSDN发表于2016年4月
weifengdq