для школьного проекта мы получили mpu 9150 (гироскоп/акселерометр/магнитометр (?)), И мы хотим получить Roll/Pitch/Yaw/Heading для него.Получение расчетных значений от mpu 9150
Я использовал код, который был в качестве примера в libary, но он дает нам только исходные данные в этом формате: ax/ay/az/gx/gy/gz/mx/my/mz. Это не то, что мы хотим.
мне удалось получить крен и тангаж до сих пор со следующим фрагментом:
roll = atan2(ay, az)+PI;
pitch = atan2(-ax, az)+PI;
// Convert everything from radians to degrees:
pitch *= 180.0/PI;
roll *= 180.0/PI;
А я читал, что я должен использовать магнитометр, чтобы получить отклонение от курса, но я понятия не имею, что формульный мне нужно для Это.
В примере кода есть также этот фрагмент внутри, может быть, это все, что мне нужно использовать, или кто-нибудь знает другие функции/методы, которые я мог бы использовать?
// read raw accel/gyro measurements from device
accelgyro.getMotion9(&ax, &ay, &az, &gx, &gy, &gz, &mx, &my, &mz);
// these methods (and a few others) are also available
//accelgyro.getAcceleration(&ax, &ay, &az);
//accelgyro.getRotation(&gx, &gy, &gz);
Я работаю с I2Cdev и MPU6050
найти библиотекиЕще один вопрос будет, какие вещи я могу получить от датчика еще? Можно ли получить высоту или разницу в высоте?
Спасибо за помощь.
С 1 фрагментом кода выше значений высоты тона/ролика, кажется, стабильный (не меняйте при 1 градусе). Мне нужно только использовать этот пример кода с этим определением фрагмента? ps .: есть ли разговоры по-немецки? то я бы понял больше: D – SeGa
Я думаю, что немецкий не пользуется здесь ... но: ja, einfach den define reinnehmen, richtige Baudrate einstellen, Arduino richtig verkabeln, und es sollte dein Ergebnis rauskommen :-) ... да, используйте определите, возьмите правильную скорость, провод и готов :-) – Fruchtzwerg
ок, затем попробуйте на английском: D он работал до сих пор: только, что рыскание подсчитывает все время, даже я не меняю позицию. И могу ли я проверить, движется ли датчик (назад/вперед/высота), и как быстро? должно быть возможно? в этом случае я должен определить другие вещи, которые в настоящее время прокомментированы (?)? – SeGa