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
+關注
關注
188文章
6477瀏覽量
187950 -
HMC5883L
+關注
關注
0文章
25瀏覽量
15083
發布評論請先 登錄
相關推薦
電子羅盤HMC5883L和HMC5983哪個更好呢
電子羅盤HMC5883L DRDY引腳角度有問題
HMC5883L-TR 15+進口HONEYWELL霍尼韋爾 霍爾效應三軸數字式傳感器
Arduino學習筆記3_連接HMC5883L三軸電子羅盤傳感器
![<b class='flag-5'>Arduino</b>學習筆記3_<b class='flag-5'>連接</b><b class='flag-5'>HMC5883L</b><b class='flag-5'>三</b><b class='flag-5'>軸</b><b class='flag-5'>電子</b><b class='flag-5'>羅盤</b><b class='flag-5'>傳感器</b>](https://file.elecfans.com/web2/M00/49/66/pYYBAGKhtEyAA0pHAAAaUu2tYVM435.jpg)
評論