В одном коде без USB, MPU-6050 похоже не измеряет или не дает сигнал на ардуино
- Войдите на сайт для отправки комментариев
Пт, 07/10/2016 - 03:43
Нашел код по измерению углов поворота с помощью MPU-6050 (у меня GY-521) тангаж, крен, рыскание.
/* MPU6050 Triple Axis Gyroscope & Accelerometer. Pitch & Roll & Yaw Gyroscope Example. Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/3-osiowy-zyroskop-i-a... GIT: https://github.com/jarzebski/Arduino-MPU6050 Web: http://www.jarzebski.pl (c) 2014 by Korneliusz Jarzebski */ #include <Wire.h> #include <MPU6050.h> MPU6050 mpu; // Timers unsigned long timer = 0; float timeStep = 0.01; // Pitch, Roll and Yaw values float pitch = 0; float roll = 0; float yaw = 0; void setup() { Serial.begin(115200); // Initialize MPU6050 while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) { Serial.println("Could not find a valid MPU6050 sensor, check wiring!"); delay(500); } // Calibrate gyroscope. The calibration must be at rest. // If you don't want calibrate, comment this line. mpu.calibrateGyro(); // Set threshold sensivty. Default 3. // If you don't want use threshold, comment this line or set 0. mpu.setThreshold(3); } void loop() { timer = millis(); // Read normalized values Vector norm = mpu.readNormalizeGyro(); // Calculate Pitch, Roll and Yaw pitch = pitch + norm.YAxis * timeStep; roll = roll + norm.XAxis * timeStep; yaw = yaw + norm.ZAxis * timeStep; // Output raw Serial.print(" Pitch = "); Serial.print(pitch); Serial.print(" Roll = "); Serial.print(roll); Serial.print(" Yaw = "); Serial.println(yaw); // Wait to full timeStep period delay((timeStep*1000) - (millis() - timer)); } Contact GitHub API Training Shop Blog About © 2016 GitHub, Inc. Terms Pri
Но в нем похоже какая-то странность, при работе от USB, он нормально работает, как я проверял, если, например, рыскание изменяется на 5 градусов, покрутить моторчик в одну сторону, если на -5 то покрутить в другую.
А при работе от аккумулятора (разные включал) и 9 В и 12В (у меня Ардуино UNO) код не работает.
Проверял другой код по измерению тангажа и крена, от аккумуляторов они нормально работают.
Не объясните в чем причина? Можно как-то исправить.
Или поделителись, кому не жалко и под рукой кодом по измерению рыскания. (DMP базовый пример не подойдет).
А почему не попробовал запитать от 5В?
А почему не попробовал запитать от 5В?
От 5 тоже пробовал.