问题标签 [mpu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何从加速度计或磁力计或陀螺仪检测步数和蹲下
我正在研究 mpu9150 传感器数据(3 个轴向加速度、3 个轴向磁场和 3 个轴向陀螺仪数据)。我的数据库中有原始数据,称为 influxDB。我想使用 java 或 c++ 从这些原始数据中检测(监控)步骤和蹲坐。我没有找到任何合适的方法来实现它。你能建议我任何图书馆吗?
谢谢
opengl - 如何使用 mpu 6050 在 3D 坐标中获取位置?
我正在一个项目中使用 MPU6050 和我设计的芯片来检测物体运动。项目分为2个阶段:
- 第一阶段:可视化面向对象(完成)
第二阶段:使用陀螺仪和加速器在 3D 坐标中可视化对象位置。我按照以下网站的说明进行操作:http ://www.x-io.co.uk/oscillator-motion-tracking-with-x-imu/ 。位置必须通过“双重整合”由此得出;加速度计首先被积分以产生速度,然后再次产生位置。
/li>
然后使用 curLoX、curLoY、curLoZ 用 openGL 可视化 3D 对象:
我的目的是当向上、向下、向左、向右移动对象时,3D 对象将具有相同的运动。但是只有当我在http://www.x-io.co.uk/oscillatory-motion-tracking-with-x-imu/中旋转我的设备而不是线性运动时,物体才会移动。我该如何解决这个问题?
accelerometer - MPU 6050 DMP 输出值单位问题
我遇到了一个运动控制处理器(MPU 6050 / 9150)的奇怪问题,该处理器返回 -/+ 32768 之间指定的原始陀螺仪值,该陀螺仪的配置方式对应于 -/+ 2000 度/秒. 这是完全有意义的,因为这与指定的文档一起使用。
但是,当我处理来自数字运动处理器(6 轴传感器融合)的数据时,我得到的最大值为 1429。我认为从 mpu 缓冲区读取数据没有错误,因为其他测量值看起来不错(从相同的 FIFO 缓冲区)。我认为这可能是一些与 6 轴传感器融合有关的单位问题,也可能涉及弧度
想知道你们中的任何一个有灯泡头脑的聪明人在这里有一些见解吗?
谢谢!
python - RaspberryPi 和 MPU6050 的高性能
我的 Pi 和 MPU6050 在性能(扫描速度)方面存在问题。代码的任务是尽可能快地以准确的间隔记录来自 MPU 的数据。
为了达到高扫描速度,我只记录原始寄存器值并稍后转换所有内容。此外,我将 I2C 波特率从 Raspberry 更改为 400kHz。
目前,该代码提供了最大 135Hz 的原始数据记录频率。
你能帮我获得更高的采样率和更好的准确间隔吗?其中更重要的一点是确切的区间。
c++ - 使用 Arduino Due 从 MPU-6050 获取/处理正确的值
对于决定我今年是否通过的学校项目,我必须使用 MPU-6050 和 Arduino Due。MPU 通过 I2C 工作,我让这部分工作。我可以得到值和它的链接。但是有一个问题,我的代码似乎没有得到正确的值!或者我错误地处理它们。我将向您展示 Arduino C 代码和我的代码,也许有人知道我做错了什么。
这是带有输出的arduino代码:
带输出:
现在这似乎很好。但是我的 c++ 代码似乎根本无法正常工作。这里是:
对于想知道什么是 hwlib 的人来说,它是学校提供的图书馆。因此,您会看到 hwlib 的 read 和 write 方法,如果您想知道它们的外观:
现在,它似乎将数据写入我使用该函数发送的字节数组。然后我得到数据并用 hwlib::cout 把它放在屏幕上。它就像普通的 std::cout 一样工作,但老师说要使用它。
输出:
我将继续努力解决这个问题,因为我不能让这个项目失败哈哈,但如果有人有答案,他们可以告诉我我做错了什么以及我应该如何做这将让我的一年,几乎没有。
先感谢您!
arduino - 如何使用 MPU 9150 传感器从实际加速度数据中获取重力值
请帮助我学习
我可以使用下面的代码获得加速度值
如何使用 MPU 9150 传感器从实际加速度数据中获取重力值。
提前致谢。
arduino - 使用 mpu9150 传感器悬挂移动手势(左/正常/右/上/正常/下)
我们尝试使用手势 LEFT-NORMAL-RIGHT、UP-NORMAL-RIGHT(Arduino+mpu9150)。
我们可以得到这些手势,但并不准确。
它在中间挂起,有时值也不正确。
你能帮我解决这个问题吗?
请检查 ++ 附件的完整代码。
代码:
interrupt-handling - Cortex-M 硬件是否在线程模式或处理程序模式下堆叠异常?
在带有 MPU 的 Cortex-M 处理器上(让我们具体使用 Cortex-M4,但我敢打赌,例如 M3 的答案是相同的),硬件异常条目堆栈在 MPU 中运行的特权模式是什么?
假设我使用进程堆栈 (PSP) 在非特权线程模式下运行,MPU 设置为仅接受特定区域内的写入(例如,用户模式进程正在运行)。当异常发生时,在处理程序执行之前(在处理程序模式下),硬件堆栈寄存器 r0-r3、lr、pc 等到 PSP 上。这是否也发生在非特权线程模式下?
具体来说,假设进程将其 SP 设置为不应写入的内存中的某个任意点,异常堆栈会导致内存故障吗?
operating-system - ARM Cortex CPU的内存保护策略应该是什么?
我需要为 ARM Cortex M3/M4 处理器实现一个带有 MPU 的多任务系统。
在该系统中,将有一个内核在特权模式下管理资源,在非特权模式下管理用户应用程序。我想将用户应用程序与其余部分和系统资源分开。
因此,当我切换到新任务时,我正在释放用户应用程序的堆栈和全局内存区域。它可以使用 ARM Cortex MPU 寄存器轻松完成。
但问题是,当发生上下文切换时,我还需要使用内核的一些全局变量。
例如,我在上下文切换期间调用一个函数来获取 PendSV 处理程序中的下一个 TCB,但任务池不在用户应用程序区域,并且它受到用户应用程序的保护。
所以,看起来应该是平衡的,对吧?有哪些安全有效的内存保护策略?
当调用 Yield 函数时,可以在上下文切换之前提升特权模式,但这似乎不是一个好的解决方案。
关于这个问题的一般策略是什么?