我正在使用Arduino nano ble 33,我想将x,y,z的加速度计值转换成频率,然后这些频率值需要通过Arduino nano 33 ble发送。有人能帮我解决这个问题吗?提前谢谢。
这是我的代码:代码现在只从加速度计读取原始数据。
< #include "Arduino.h"
#include <ArduinoBLE.h>
#include "Nano33BLEAccelerometer.h"
// #include "arduinoFFT.h"
#define BLE_BUFFER_SIZES 20
#define BLE_DEVICE_NAME "Nano 33 BLE"
#define BLE_LOCAL_NAME "Accelerometer BLE"
Nano33BLEAccelerometerData accelerometerData;
BLEService BLEAccelerometer("590d65c7-3a0a-4023-a05a-6aaf2f22441c");
BLECharacteristic accelerometerXBLE("0004", BLERead | BLENotify | BLEBroadcast,
BLE_BUFFER_SIZES);
BLECharacteristic accelerometerYBLE("0005", BLERead | BLENotify | BLEBroadcast, BLE_BUFFER_SIZES);
BLECharacteristic accelerometerZBLE("0006", BLERead | BLENotify | BLEBroadcast, BLE_BUFFER_SIZES);
char bleBuffer[BLE_BUFFER_SIZES];
void setup()
{
Serial.begin(115200);
while(!Serial);
if (!BLE.begin())
{
while (1);
}
else
{
BLE.setDeviceName(BLE_DEVICE_NAME);
BLE.setLocalName(BLE_LOCAL_NAME);
BLE.setAdvertisedService(BLEAccelerometer);
BLEAccelerometer.addCharacteristic(accelerometerXBLE);
BLEAccelerometer.addCharacteristic(accelerometerYBLE);
BLEAccelerometer.addCharacteristic(accelerometerZBLE);
BLE.addService(BLEAccelerometer);
BLE.advertise();
Accelerometer.begin();
accelerometerXBLE.writeValue((byte)0x01);
accelerometerYBLE.writeValue((byte)0x01);
accelerometerZBLE.writeValue((byte)0x01);
Serial.println("X, Y, Z");
}
}
void loop()
{
BLEDevice central = BLE.central();
if(central)
{
Serial.println("Connected");
int writeLength;
while(central.connected())
{
if(Accelerometer.pop(accelerometerData))
{
writeLength = sprintf(bleBuffer, "%f", accelerometerData.x);
accelerometerXBLE.writeValue(bleBuffer);
writeLength = sprintf(bleBuffer, "%f", accelerometerData.y);
accelerometerYBLE.writeValue(bleBuffer);
writeLength = sprintf(bleBuffer, "%f", accelerometerData.z);
accelerometerZBLE.writeValue(bleBuffer);
delay(1000);
Serial.printf("%f,%f,%f\r\n", accelerometerData.x, accelerometerData.y,
accelerometerData.z);
}
}
}
} >发布于 2021-03-12 14:34:00
你所要求的并不简单。您将需要使用傅立叶变换。点击此处阅读:https://see.stanford.edu/materials/lsoftaee261/chap8.pdf
https://stackoverflow.com/questions/66590105
复制相似问题