網上有好多文章介紹如何從HMC5883L電子羅盤中獲取旋轉的角度。但是其中有個重要的參數Declination並沒有太多介紹,而且該參數是必要的。
rom i2clibraries import i2c_hmc5883l
hmc5883l = i2c_hmc5883l.i2c_hmc5883l(0)
hmc5883l.setContinuousMode()
hmc5883l.setDeclination(9,54)
print(hmc5883l)
羅盤要確定方向北面是靠磁場來確定的,北向有兩個標準:
World Magnetic Model (WMM) 是磁場的正北
International Geomagnetic Reference Field (IGRF) 也稱爲Ture North,是地圖上的正北
但事實上這兩個北向是有偏差的,這個偏差就叫Declination,就是下圖中的橙色扇區角度。它的值隨着地域和時間而變化,我們可以訪問這裏來查詢這個值。英文介紹視頻,它們都是由美國國家地理數據中心提供的,如果打不開,只能自己想辦法了:)
下面的圖像顯示整個地球範圍內,Declination分佈的規律,每一個等高線上的Declination 是相同的,中間的黃綠線是0,也就是磁場北和地理北完全重合。紅線爲正值,藍線爲負值。
下面是網站頁面,可以看到北京的正北和磁場的北是有個偏角的,這就是Declination.時間是2015 - 02 -02