HMC5883L器件简介
(1)器件介绍
型号:GY-271
(2)主要技术参数
使用芯片:HMCL5883L
测试范围:±1.3-8高斯
(3)工作原理
传统罗盘用一根被磁化的磁针来感应地球磁场,地球磁场与磁针之间的磁力时磁针转动,直至磁针的两端分别指向地球的磁南极与磁北极。电子罗盘也一样,只不过把磁针换成了磁阻传感器,然后将感受到的地磁信息转换为数字信号输出给用户使用。
(4)产品应用领域
手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统等。
(5)器件尺寸图
hmc5883l三轴电子罗盘传感器连接arduino
连接方法:
只要连接VCC,GND,SDA,SCL四条线。ArduinoGND-》HMC5883LGNDArduino3.3V-》HMC5883LVCCArduinoA4(SDA)-》HMC5883LSDAArduinoA5(SCL)-》HMC5883LSCL
(注意,接线是A4,A5,不是D4,D5)
程序编写:
1、下载HMC5883L库文件。下载地址:http://soft2.wmzhe.com/download/AnsifaArduino/HMC5883L.zip
2、解压HMC5883L库文件到arduino文件夹:arduino-0022libraries下面。
3、编写以下程序,下载下面测试程序到arduino:
#include《Wire.h》
#include《HMC5883L.h》
HMC5883Lcompass;
voidsetup()
{
Serial.begin(9600);
Wire.begin();
compass=HMC5883L();
compass.SetScale(1.3);
compass.SetMeasurementMode(Measurement_Continuous);
}
voidloop()
{
MagnetometerRawraw=compass.ReadRawAxis();
MagnetometerScaledscaled=compass.ReadScaledAxis();
floatxHeading=atan2(scaled.YAxis,scaled.XAxis);
floatyHeading=atan2(scaled.ZAxis,scaled.XAxis);
floatzHeading=atan2(scaled.ZAxis,scaled.YAxis);
if(xHeading《0)xHeading+=2*PI;
if(xHeading》2*PI)xHeading-=2*PI;
if(yHeading《0)yHeading+=2*PI;
if(yHeading》2*PI)yHeading-=2*PI;
if(zHeading《0)zHeading+=2*PI;
if(zHeading》2*PI)zHeading-=2*PI;
floatxDegrees=xHeading*180/M_PI;
floatyDegrees=yHeading*180/M_PI;
floatzDegrees=zHeading*180/M_PI;
Serial.print(xDegrees);
Serial.print(“,”);
Serial.print(yDegrees);
Serial.print(“,”);
Serial.print(zDegrees);
Serial.println(“;”);
delay(100);
}
打开Arduino串口监视器即可看到结果(X平面角度,Y平面角度,Z平面角度):
-
Arduino
+关注
关注
187文章
6462浏览量
186613 -
HMC5883L
+关注
关注
0文章
25浏览量
15015
发布评论请先 登录
相关推荐
评论