【问题标题】:Increase the sampling rate of Arduino Nano 33 BLE提高 Arduino Nano 33 BLE 的采样率
【发布时间】:2021-02-04 08:09:37
【问题描述】:

我使用的是 Arduino Nano 33 BLE。在我的项目中,我必须通过蓝牙将加速度计和陀螺仪数据发送到 android 应用程序。 我的采样率为 10Hz,但我应该有 50Hz。如何更改 Arduino Nano 的采样率?

谢谢

【问题讨论】:

  • 您想提高数据采样率还是加快 BLE 连接速度?
  • 如果两者都可能

标签: arduino bluetooth-lowenergy arduino-ide sample-rate arduino-nano


【解决方案1】:

所以这将需要绕过 LSM9DS1 Arduino 库并手动利用 Arduino 的有线连接(参见 Arduino_LSM9DS1 类中的 writeRegister() 函数)来设置 IMU 中的寄存器。默认采样率为 119Hz,因此您需要降低为您的应用程序(以及一致的读取)将其设置为 50Hz。

有关每个寄存器的信息,下面的数据表包含有关 IMU 的所有信息。 https://www.st.com/resource/en/datasheet/lsm9ds1.pdf

为了更好地了解如何根据您的需求调整现有的 IMU 库,您可以访问下面的 GitHub 链接以获取当前的 Arduino IMU 库源代码。 https://github.com/arduino-libraries/Arduino_LSM9DS1

查看 begin 方法以获取有关更改采样率以满足您的需求的信息: https://github.com/arduino-libraries/Arduino_LSM9DS1/blob/7c8e9a0f8373a6e3ad1cd0f6ab0d66603a69f4f3/src/LSM9DS1.cpp#L50

为了提高 BLE 吞吐量,您可以创建一个旋转(

我还发表了一篇关于最大化主板 RADIO 吞吐量的论坛帖子,这可能会有所帮助。但是,它的解决方案目前不支持 Android 可以识别的协议,并且在您的情况下会过大。它位于下方。 https://forum.arduino.cc/t/stream-binary-data-from-arduino-nano-33-ble-to-pc-via-ble/917206

【讨论】: