问题标签 [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.
c - MPU6050 与 STM32F303 的响应时间
我正在尝试使用 STM32F303 微控制器构建自平衡机器人,并且我正在使用 MPU6050 进行位置测量。在使用 I2C 传输协议传输和接收数据时。我以前有使用 STM32F303 的经验,也熟悉I2C 协议,通过查阅MPU6050、STM32F303的数据表和一些在线资源,我使用ST Electronics 提供的标准外设库构建了一个代码。问题是我正在获取读数,但响应时间太慢。平均而言,它应该消耗最多2-3 毫秒,但在这里它消耗超过400毫秒我完全无法弄清楚。由于时间是这个项目的关键,因此我需要关于这个问题的指南。我使用Atollic作为我的 IDE,代码文件如下 Main.c
MPU6050.c
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)
向我解释一下这条线吗?这是某种类型的转换还是我出错了?
c - 无法加载 InvenSense 的 MotionDriver 固件
我正在尝试使用 InvenSense 的运动驱动程序 6.12 从 MPU-6050 的 DMP 读取数据。
此代码也来自运动驱动程序源代码。
在初始化我正在调用的 mpu 之后,dmp_load_motion_driver_firmware();
它看起来像这样。
如您所见,这会将固件写入 MPU,读回数据并检查它们是否匹配。不幸的是,它们不匹配,我不知道为什么。读取的值mpu_read_mem
如下所示
官方开发者论坛上有一些帖子存在完全相同的问题,但没有一个为这个问题提供解决方案。
也许你们中的一些人有同样的问题,可以帮助我。
c - MPU6050海拔保持arduino
伙计们,我已经制造了一架无人机。并且我使用 mpu6050 作为自我平衡机制。现在我想开发它以包括高度保持。但是我遇到了麻烦,因为我不知道如何从 mpu6050 获得高度测量值。我的想法是在每个电机速度级别获取高度,然后将这些测量值作为阈值,并使用 if/else 编写代码,通过自动调整电机速度将无人机保持在特定高度。那么有人可以帮我从 mpu6050 获取 z 轴运动读数吗???
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
arduino - MPU-6050 在仅移动一个轴时更改 X 和 Z 轴值
我正在建造一架无人机并使用 Arduino Uno 来控制它。但是,当我倾斜无人机进行测试时,例如在 X 轴上,程序说它在 X 轴和 Z 轴上都倾斜了。我正在使用 MPU6050 陀螺仪。这是我正在使用的代码:
c++ - 使用阈值的加速度计振动检测
我已经对加速度计进行了编程,以通过沿所有 3 轴原始数据设置合理的最小/最大阈值来检测振动。我需要它只计算它检测到振动的次数,但是,由于它使用阈值编程的方式,我使用了大约 1 秒的延迟来防止多次错误计数,这有效但会干扰超声波模块(HC -SR04) 需要读取距离值时与加速度计同步。想就此得到一些反馈。
java - 如何将mpu6050的原始数据转换为控制鼠标光标?
我有一个项目要完成,它是关于“使用传感器控制 PC 鼠标光标”的,其中我必须使用 Java、Arduino 和 MPU-6050 作为传感器。
我打算使用下面的代码来移动鼠标光标
我计划为鼠标光标移动创建 moveRight(),moveLeft()moveUP(),moveDown() 函数。此功能将在 MPU-6050 传感器移动的基础上调用。
但我不知道如何将 MPU-6050 的原始数据转换为可用于光标移动的数据。
arduino - Arduino 加速度计 mpu6050,无原始数据
我正在开发一个使用带有 arduino Nano 的加速度计的项目。
我正在使用 MPU6050。但是,无论我是否移动 MPU6050,我都有相同的静态值......我只得到-1。考虑到我看过的所有教程都实现了检索数据,这真是令人沮丧。
首先,我将 MPU6050 与 arduino 连接起来,如下所示:
然后我用了官方代码https://playground.arduino.cc/Main/MPU-6050#short 就是说这个:
这就是我得到的...
我买了一个新的,但我仍然有同样的问题......
如果有人有任何想法,我将不胜感激!
谢谢