问题标签 [mpu6050]

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.

0 投票
1 回答
941 浏览

c - MPU6050 与 STM32F303 的响应时间

我正在尝试使用 STM32F303 微控制器构建自平衡机器人,并且我正在使用 MPU6050 进行位置测量。在使用 I2C 传输协议传输和接收数据时。我以前有使用 STM32F303 的经验,也熟悉I2C 协议,通过查阅MPU6050STM32F303的数据表和一些在线资源,我使用ST Electronics 提供的标准外设库构建了一个代码。问题是我正在获取读数,但响应时间太慢。平均而言,它应该消耗最多2-3 毫秒,但在这里它消耗超过400毫秒我完全无法弄清楚。由于时间是这个项目的关键,因此我需要关于这个问题的指南。我使用Atollic作为我的 IDE,代码文件如下 Main.c

MPU6050.c

0 投票
1 回答
91 浏览

c - InvenSenses Motion Driver 需要解释

我正在使用 InvenSense 的 Motion Driver API 从 MPU-6050 读取值的项目。作为开始,我试图获得温度。

阅读注册文件有以下句子。

对于给定的寄存器值,以摄氏度为单位的温度可以计算为: 以摄氏度为单位的温度 =(TEMP_OUT 寄存器值作为有符号量)/340 + 36.53

在这个 API 的源代码中有如下函数

当我搜索互联网时,我通常会遇到这个似乎有效的片段

有人可以(long)((35 + ((raw - (float)st.hw->temp_offset) / st.hw->temp_sens)) * 65536L)向我解释一下这条线吗?这是某种类型的转换还是我出错了?

0 投票
0 回答
569 浏览

c - 无法加载 InvenSense 的 MotionDriver 固件

我正在尝试使用 InvenSense 的运动驱动程序 6.12 从 MPU-6050 的 DMP 读取数据。

此代码也来自运动驱动程序源代码。

在初始化我正在调用的 mpu 之后,dmp_load_motion_driver_firmware();它看起来像这样。

如您所见,这会将固件写入 MPU,读回数据并检查它们是否匹配。不幸的是,它们不匹配,我不知道为什么。读取的值mpu_read_mem如下所示

官方开发者论坛上有一些帖子存在完全相同的问题,但没有一个为这个问题提供解决方案。

也许你们中的一些人有同样的问题,可以帮助我。

0 投票
0 回答
336 浏览

c - MPU6050海拔保持arduino

伙计们,我已经制造了一架无人机。并且我使用 mpu6050 作为自我平衡机制。现在我想开发它以包括高度保持。但是我遇到了麻烦,因为我不知道如何从 mpu6050 获得高度测量值。我的想法是在每个电机速度级别获取高度,然后将这些测量值作为阈值,并使用 if/else 编写代码,通过自动调整电机速度将无人机保持在特定高度。那么有人可以帮我从 mpu6050 获取 z 轴运动读数吗???

0 投票
1 回答
1120 浏览

python-3.x - MPU6050 输出信号上的 FFT

我想对使用 Python 从连接到 Arduino UNO 的 MPU6050 传感器中提取的数据阵列执行 FFT

请在下面找到数据样本

0.13,0.04,1.03

0.14,0.01,1.02

0.15,-0.04,1.05

0.16,0.02,1.05

0.14,0.01,1.02

0.16,-0.03,1.04

0.15,-0.00,1.04

0.14,0.03,1.02

0.14,0.01,1.03

0.17,0.02,1.05

0.15,0.03,1.03

0.14,0.00,1.02

0.17,-0.02,1.05

0.16,0.01,1.04

0.14,0.02,1.01

0.15,0.00,1.03

0.16,0.03,1.05

0.11,0.03,1.01

0.15,-0.01,1.03

0.16,0.01,1.05

0.14,0.02,1.03

0.13,0.01,1.02

0.15,0.02,1.05

0.13,0.00,1.03

0.08,0.01,1.03

0.09,-0.01,1.03

0.09,-0.02,1.03

0.07,0.01,1.03

0.06,0.00,1.05

0.04,0.00,1.04

0.01,0.01,1.02

0.03,-0.05,1.02

-0.03,-0.05,1.03

-0.05,-0.02,1.02

我已经取了第一列(X 轴)并保存在一个数组中

参考:https ://hackaday.io/project/12109-open-source-fft-spectrum-analyzer/details 我参加了 FFT 的一部分,代码如下

我得到了 FFT 的输出,如图所示FFToutput

我不明白图表是否正确。这是我第一次使用 FFT,我们如何将它与数据联系起来

这是我在建议更改后得到的:FFTnew

0 投票
1 回答
2620 浏览

arduino - 将加速度计的值转换为 G 力

我正在尝试使用 esp8266 和 mpu6050 构建一个小型 G 力记录器,我设法从传感器读取值并打印出以下数据:来自传感器的数据

现在我想知道如何从这些数据中获得人类可读的 G 力?

我正在使用的代码:

0 投票
2 回答
963 浏览

arduino - MPU-6050 在仅移动一个轴时更改 X 和 Z 轴值

我正在建造一架无人机并使用 Arduino Uno 来控制它。但是,当我倾斜无人机进行测试时,例如在 X 轴上,程序说它在 X 轴和 Z 轴上都倾斜了。我正在使用 MPU6050 陀螺仪。这是我正在使用的代码:

0 投票
1 回答
149 浏览

c++ - 使用阈值的加速度计振动检测

我已经对加速度计进行了编程,以通过沿所有 3 轴原始数据设置合理的最小/最大阈值来检测振动。我需要它只计算它检测到振动的次数,但是,由于它使用阈值编程的方式,我使用了大约 1 秒的延迟来防止多次错误计数,这有效但会干扰超声波模块(HC -SR04) 需要读取距离值时与加速度计同步。想就此得到一些反馈。

0 投票
1 回答
1071 浏览

java - 如何将mpu6050的原始数据转换为控制鼠标光标?

我有一个项目要完成,它是关于“使用传感器控制 PC 鼠标光标”的,其中我必须使用 Java、Arduino 和 MPU-6050 作为传感器。

我打算使用下面的代码来移动鼠标光标

我计划为鼠标光标移动创建 moveRight(),moveLeft()moveUP(),moveDown() 函数。此功能将在 MPU-6050 传感器移动的基础上调用。

但我不知道如何将 MPU-6050 的原始数据转换为可用于光标移动的数据。

0 投票
2 回答
1845 浏览

arduino - Arduino 加速度计 mpu6050,无原始数据

我正在开发一个使用带有 arduino Nano 的加速度计的项目。

我正在使用 MPU6050。但是,无论我是否移动 MPU6050,我都有相同的静态值......我只得到-1。考虑到我看过的所有教程都实现了检索数据,这真是令人沮丧。

首先,我将 MPU6050 与 arduino 连接起来,如下所示: 在此处输入图像描述

然后我用了官方代码https://playground.arduino.cc/Main/MPU-6050#short 就是说这个:

在此处输入图像描述

这就是我得到的...

在此处输入图像描述

我买了一个新的,但我仍然有同样的问题......

如果有人有任何想法,我将不胜感激!

谢谢