Sending Data from Teensy to Excel

Ich würde sagen, Sie haben absolut recht. Die Formatierung hier ist echt verworrenes Wombat-Zeug. Eines der Probleme ist, dass Sie Dinge schreiben, die Computer nicht lesen können. Sie können das später einfügen, wenn Sie müssen. Ich habe keine Ahnung, was Sie tun, aber ich bin sicher, Sie können das gewünschte Ergebnis erzielen. Ich gehe davon aus, dass Sie wissen, was Sie mit den Sensoren tun, aber beachten Sie, dass Arduinos keine Verdopplung durchführen können. Ich denke nicht, dass dies die Ursache des Problems ist, aber "float" sollten ausreichen.

Ich gehe davon aus, dass Sie eine Zählung erstellen müssen, um für die x-Achse nach Excel zu wechseln. Ansonsten werden nur die Schleife und die Unterprogramme geändert. Dies ergibt alle 150 ms eine Reihe von zehn Zahlen. Dies sollte auf dem seriellen Monitor klar sein, auch wenn es ein bisschen schwer zu lesen ist. Dies sollte auch alles sein, was Sie über PLX an Excel senden müssen, da Sie anscheinend keine speziellen Excel-Befehle haben.

int k

}
void loop(){
 k++;
Serial.print(k);
Serial.print",");
  GetAngle1(MPU_addr1);
  GetAngle2(MPU_addr2);
  GetAngle3(MPU_addr3);
delay(150);
}

void GetAngle1(const int MPU) {

Wire.beginTransmission(MPU_addr1);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr1,14,true);
  axis_X1=Wire.read()<<8|Wire.read();
  axis_Y1=Wire.read()<<8|Wire.read();
  axis_Z1=Wire.read()<<8|Wire.read();
    int xAng = map(axis_X1,minVal,maxVal,-90,90);
    int yAng = map(axis_Y1,minVal,maxVal,-90,90);
    int zAng = map(axis_Z1,minVal,maxVal,-90,90);
       x1= RAD_TO_DEG * (atan2(-yAng, -zAng)+PI);
       y1= RAD_TO_DEG * (atan2(-xAng, -zAng)+PI);
       z1= RAD_TO_DEG * (atan2(-yAng, -xAng)+PI);
     Serial.print(x1);
     Serial.print",");
     Serial.print(y1);
     Serial.print",");
     Serial.print(z1);
     Serial.print",");
}

void GetAngle2(const int MPU) {

  Wire.beginTransmission(MPU_addr2);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr2,14,true);
  axis_X2=Wire.read()<<8|Wire.read();
  axis_Y2=Wire.read()<<8|Wire.read();
  axis_Z2=Wire.read()<<8|Wire.read();
    int xAng = map(axis_X2,minVal,maxVal,-90,90);
    int yAng = map(axis_Y2,minVal,maxVal,-90,90);
    int zAng = map(axis_Z2,minVal,maxVal,-90,90);
       x2= RAD_TO_DEG * (atan2(-yAng, -zAng)+PI);
       y2= RAD_TO_DEG * (atan2(-xAng, -zAng)+PI);
       z2= RAD_TO_DEG * (atan2(-yAng, -xAng)+PI);
     Serial.print(x2);
     Serial.print",");
     Serial.print(y2);
     Serial.print",");
     Serial.print(z2);
     Serial.print",");
}

void GetAngle3(const int MPU) {

  Wire.beginTransmission(MPU_addr3);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr3,14,true);
  axis_X3=Wire.read()<<8|Wire.read();
  axis_Y3=Wire.read()<<8|Wire.read();
  axis_Z3=Wire.read()<<8|Wire.read();
    int xAng = map(axis_X2,minVal,maxVal,-90,90);
    int yAng = map(axis_Y2,minVal,maxVal,-90,90);
    int zAng = map(axis_Z2,minVal,maxVal,-90,90);
       x3= RAD_TO_DEG * (atan2(-yAng, -zAng)+PI);
       y3= RAD_TO_DEG * (atan2(-xAng, -zAng)+PI);
       z3= RAD_TO_DEG * (atan2(-yAng, -xAng)+PI);
     Serial.print(x3);
     Serial.print",");
     Serial.print(y3);
     Serial.print",");
     Serial.println(z3);// note ln!!
}