Я хочу получить "направление по компасу" (я хочу знать угол на север), используя магнитометр .Я видел в нескольких уроках, что сначала мне нужно откалибровать .Когда я посмотрел, как это сделать, я увидел графическое сравнение значения магнитометра с и без калибровки.
Вот ссылки, которые я использовал: link_one и link_two
Обе ссылки показывают, что некалиброванный магнитометр должен отображать несколько кластеров на графике, как показано ниже:
![This is the graph that I should have for an uncalibrated magnetometer](https://i.stack.imgur.com/iJwKg.png)
И откалиброванный мангнометр должен иметь как 3 оси в одной и той же точке вокруг нуля, как это:
![This is the graph that I should have after the calibration](https://i.stack.imgur.com/S5rzh.png)
Я используюАдафрут LSM9DS1 .Я попытался получить ту же графику с помощью следующего кода Python:
def save_mag_values():
f = open("magnetometer.csv","w")
for i in range(10000):
value = sensor.magnetic
f.write(",".join(map(str,value)))
f.write("\n")
Затем я использую следующую команду gnuplot для печати:
gnuplot> plot "magnetometer.csv" using 1:2 title "XY" pointsize 2 pointtype 7, \
"magnetometer.csv" using 1:3 title "XZ" pointsize 2 pointtype 7, \
"magnetometer.csv" using 2:3 title "YZ" pointsize 2 pointtype 7
Как написано в учебнике, я просто медленнопереместить датчик и через 1 мин я распечатаю значенияВот что у меня есть для некалиброванного магнитометра: ![My graph of non calibrated magnetometer](https://i.stack.imgur.com/pChHm.png)
Как видите, глобальная форма - это не круг, и я не знаю почему.Я попытался откалибровать его, и вот что у меня есть:
![This is my graph with calibration](https://i.stack.imgur.com/0VOff.png)
Может кто-нибудь сказать мне, что я сделал неправильно и почему у меня не может быть "кругформа "значения, как это должно быть?Или форма должна быть идеальной, как я вижу на уроках, или моя в порядке?Спасибо