|
用途:測(cè)量地磁方向,測(cè)量物體靜止時(shí)候的方向,測(cè)量傳感器周圍磁力線的方向。注意,測(cè)量地磁時(shí)候容易受到周圍磁場(chǎng)影響,
主芯片HMC5883三軸磁阻傳感器特點(diǎn)(抄自網(wǎng)上):
1,數(shù)字量輸出:I2C數(shù)字量輸出接口,設(shè)計(jì)使用非常方便。
2,尺寸小: 3x3x0.9mm LCC封裝,適合大規(guī)模量產(chǎn)使用。
3,精度高:1-2度,內(nèi)置12位A/D,OFFSET, SET/RESET 電路,不會(huì)出現(xiàn)磁飽和現(xiàn)象,不會(huì)有累加誤差。
4,支持自動(dòng)校準(zhǔn)程序,簡(jiǎn)化使用步驟,終端產(chǎn)品使用非常方便。
5,內(nèi)置自測(cè)試電路,方便量產(chǎn)測(cè)試,無需增加額外昂貴的測(cè)試設(shè)備。
6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測(cè)量模式-0.6mA
205520desfhb8ho4g8esyf.jpg (50.62 KB, 下載次數(shù): 227)
下載附件
2016-4-14 04:11 上傳
連接方法:
只要連接VCC,GND,SDA,SCL四條線。Arduino GND -> HMC5883L GNDArduino 3.3V -> HMC5883L VCCArduino A4 (SDA) -> HMC5883L SDAArduino A5 (SCL) -> HMC5883L SCL
(注意,接線是A4,A5,不是D4,D5)
程序編寫:下載HMC5883L庫(kù)文件。下載地址:
HMC5883L.zip
(5.55 KB, 下載次數(shù): 100)
2016-4-14 02:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
主要程序預(yù)覽:
解壓HMC5883L庫(kù)文件到arduino文件夾:arduino-0022libraries下面。編寫以下程序,下載下面測(cè)試程序到arduino:
#include <Wire.h>
#include <HMC5883L.h>
HMC5883L compass;
void setup()
{
Serial.begin(9600);
Wire.begin();
compass = HMC5883L();
compass.SetScale(1.3);
compass.SetMeasurementMode(Measurement_Continuous);
}
void loop()
{
MagnetometerRaw raw = compass.ReadRawAxis();
MagnetometerScaled scaled = compass.ReadScaledAxis();
float xHeading = atan2(scaled.YAxis, scaled.XAxis);
float yHeading = atan2(scaled.ZAxis, scaled.XAxis);
float zHeading = 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;
float xDegrees = xHeading * 180/M_PI;
float yDegrees = yHeading * 180/M_PI;
float zDegrees = zHeading * 180/M_PI;
Serial.print(xDegrees);
Serial.print(",");
Serial.print(yDegrees);
Serial.print(",");
Serial.print(zDegrees);
Serial.println(";");
delay(100);
}
打開Arduino串口監(jiān)視器即可看到結(jié)果(X平面角度,Y平面角度,Z平面角度):
210631cqcqcocchk4pak94.jpg (58.27 KB, 下載次數(shù): 237)
下載附件
2016-4-14 04:11 上傳
|
|