利用HMC5883L取得三軸電子羅盤數據
GY-271其核心的晶片是HMC5883L感測器(Sensor),可以測量三軸的地球磁場強度,範圍可到± 8 gauss,是數位處理有12位元解析度,具有1~2度的精確度,耗電只有100uA,透過I²C最大可以75Hz持續量測輸出。
GY-271規格:
1. 核心晶片:HMC5883L
2. 供電電源:3 – 5 v
3. 通信方式:標準 I²C通信協議
4. 晶片內置12 bit 解析度
I²C函式庫:
下列連結是下載位置
https://github.com/jarzebski/Arduino-HMC5883L
解壓縮後,整個目錄複製到Arduino Libaries下
執行 Arduino IDE
打開HMC5883L simple 範例
串列阜畫面如下 (Baud Rate 9600)
磁偏角 (magnetic declination)
正北 (真北 TN):
是地球的真實地理上的北極,位於世界的頂端,永遠不會改變,是地球子午線指向北的方向。
方格北 (圖北 GN):
是麥卡脫投影作圖方式所繪出的北方,又稱座標北,為地圖止方格座標縱線上端所指之方向。以方格北線所測之方位角為方格方位角。
磁北 (MN):
是指北針所指的北方,是地球磁場上的北極,位於真北的上方約 2,000 公里處,而且每年都會有稍微的移動;這個北方並非故定不變的。
地磁偏角:
是指地球上任一處的磁北方向和正北方向之間的夾角。當地磁北向實際偏東時,地磁偏角為正,反之為負。
指北針指的方向是磁北 (MN),假定磁偏角為偏東14度 (14°E) ,正北 (TN)會在磁北 (MN)右邊14度。
xx°E:正北在磁北右邊xx度。
xx°W:正北在磁北左邊xx度。
- 執行 Arduino IDE 打開HMC5883L_processing 範例,上傳Arduino Uno,不開串列阜。
- 將下載檔案Processing\HMC5883L_processing目錄,copy到Processing工作目錄(C:\Users\xxx\Documents\Processing) 。
- 打開 C:\Users\xxx\Documents\Processing\HMC5883L_processing\HMC5883L_processing.pde。
- 執行得到下圖
轉動HMC5883L,圖形的羅盤指針會轉動,如果上圖畫面白屏,可能PC顯示卡等級不夠。