1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| int main() {
std::map<float, float> mappy;
float measX;
float measY;
float measZ;
float xAng, yAng, zAng;
int X = 0, Y = 0, Z = 0;
int minVal = 265;
int maxVal = 402;
while(1) {
measX = analog_X.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
measY = analog_Y.read();
measZ = analog_Z.read();
//convert read values to degrees -90 to 90 - Needed for atan2
xAng = mappy(measX , minVal, maxVal, -90, 90);
yAng = mappy(measY, minVal, maxVal, -90, 90);
zAng = mappy(measZ, minVal, maxVal, -90, 90);
X = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);
Y = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);
Z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);
printf("x: %.0f | y: %.0f | z: %.0f \r", X, Y, Z ); |
Partager