MPU 6050 sampling Frequenz und Sampling Zeit

Hallo, Könnte mir jemand bei meinem Problem Weiterhelfen? Ich müsste mit einem MPU6050 accelerometer Daten aufnehmen mittels Arduino welche ich anschließend in Matlab bearbeiten muss. Das Problem jedoch ist, dass ich für die Bearbeitung der Daten die Sampling Zeit und die Sampling Frequenz wissen muss und ich nicht weiß wie ich diese ablesen kann. Haben die 9600 baud rate und der delay einen Einfluss auf diese?

Ich verwende für die Messung folgenden Code

#include<Wire.h>
const int MPU_addr=0x68; // I2C address of the MPU-6050
int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
void setup(){
Wire.begin();
Wire.beginTransmission(MPU_addr);
Wire.write(0x6B); // PWR_MGMT_1 register
Wire.write(0); // set to zero (wakes up the MPU-6050)
Wire.endTransmission(true);
Serial.begin(9600);
}
void loop(){
Wire.beginTransmission(MPU_addr);
Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
Wire.endTransmission(false);
Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers
AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
Serial.print("AcX = "); Serial.print(AcX);
Serial.print(" | AcY = "); Serial.print(AcY);
Serial.print(" | AcZ = "); Serial.print(AcZ);
Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53); //equation for temperature in degrees C from datasheet
Serial.print(" | GyX = "); Serial.print(GyX);
Serial.print(" | GyY = "); Serial.print(GyY);
Serial.print(" | GyZ = "); Serial.println(GyZ);
delay(100); // delay time in milli sekonds
}

Hi

Naja - mit delay(100); werden die seriellen Ausgaben mit 9600Baud auch nicht mehr stören.
Pro ausgegebenem Zeichen braucht die Schnittstelle 8 10 Bit - macht bei 9600Baud 9600 Zeichen die Sekunde.
Oder (knapp) jede ms ein Zeichen.
Da Du aber ohnehin 100 ms Nichts tust, wird Das kaum stören - Dir aber die Sampling-Frequenz auf bestenfalls 10 runter ziehen.
10x100ms Pause macht 1000ms - pro Sekunde.

Dein Code passt wunderbar in Code-Tags, bitte nachträglich noch anpassen.

MfG

Edit
10 Bit (statt 8) ...

Der größte Zeitfaktor ist das delay(100), wie postmaster schon geschrieben hat.
Wenn du nicht schneller auf Serial schreibst als die Übertragung hergibt und weniger als 64 Zeichen in den Puffer schreibst, macht das nicht viel aus.
Auch Wire.requestFrom() usw. ist im Vergleich vernachlässigbar.

Wenn dies doch eine Rolle spielen würde, müsste man die Sample Zeit mit millis() synchronisieren, und evtl. sogar die Quarz/Resonator-Genauigkeit beachten.