从 sensehats IMU 上的磁力计收集数据

Posted

技术标签:

【中文标题】从 sensehats IMU 上的磁力计收集数据【英文标题】:collect data from magentometer on a sensehats IMU 【发布时间】:2019-06-20 15:54:14 【问题描述】:

我找不到有关如何从连接到我的树莓派的 sensehat 上的 IMU 导入和收集数据的信息。我要写什么来导入它并保存数据?

我已经编写了具有相同功能的代码,但是对于加速度计:

import logging
import logzero
from logzero import logger
from sense_hat import SenseHat
import os
dir_path = os.path.dirname(os.path.realpath(__file__))

sh = SenseHat()

logzero.logfile(dir_path+"/accel.csv")

formatter = logging.Formatter('%(name)s - %(asctime)-15s - %(levelname)s: %(message)s');
logzero.formatter(formatter)

acceleration = sense.get_accelerometer_raw()
x = acceleration['x']
y = acceleration['y']
z = acceleration['z']

x=round(x, 0)
y=round(y, 0)
z=round(z, 0)

logger.info("%s,%s,%s", x, y, z, )

【问题讨论】:

【参考方案1】:

来自 Sense HAT 文档页面 (https://pythonhosted.org/sense-hat/api/#imu-sensor)

你必须设置sense.set_imu_config(True,True,True) #compass/gyroscope/accelerometer

import logging
import logzero
from logzero import logger
from sense_hat import SenseHat
import os
dir_path = os.path.dirname(os.path.realpath(__file__))

sh = SenseHat()
sh.set_imu_config(True, True, True)

logzero.logfile(dir_path+"/accel.csv")

formatter = logging.Formatter('%(name)s - %(asctime)-15s - %(levelname)s: %(message)s');
logzero.formatter(formatter)

acceleration = sh.get_accelerometer_raw()
x = acceleration['x']
y = acceleration['y']
z = acceleration['z']

x=round(x, 0)
y=round(y, 0)
z=round(z, 0)

north = sh.get_compass()
print("North: %s" % north) #prints direction of North in degrees

logger.info("%s,%s,%s", x, y, z, )

【讨论】:

以上是关于从 sensehats IMU 上的磁力计收集数据的主要内容,如果未能解决你的问题,请参考以下文章

无人机学习Pix4

Lord Sensing 3DM-CV5-15高性能惯性测量单元IMU和垂直测

Lord Sensing 3DM-CV5-15高性能惯性测量单元IMU和垂直测

ARCore使用什么传感器?

MPU9255上的磁力计没有数据

航空航天专用Everspin非易失性MRAM存储器