Gy9250 и программный i2c
- Войдите на сайт для отправки комментариев
Сб, 30/10/2021 - 17:38
Пытаюсь запустить GY9250 по програмному i2c. Доходит до mpu.setup, но условие в цикле не выполняется т.к. mpu.available() = 0. Код такой
#include <MPU9250.h>
#include <SoftWire.h>
MPU9250_<SoftWire> mpu;
SoftWire sw(A1, A2); //SDA SCL
char swTxBuffer[64];
char swRxBuffer[64];
void setup() {
sw.setTxBuffer(swTxBuffer, sizeof(swTxBuffer));
sw.setRxBuffer(swRxBuffer, sizeof(swRxBuffer));
sw.setDelay_us(5);
sw.setTimeout(1000);
sw.begin();
Serial.begin(115200);
Serial.print("Init.... ");
MPU9250Setting setting;
setting.accel_fs_sel = ACCEL_FS_SEL::A16G;
setting.gyro_fs_sel = GYRO_FS_SEL::G2000DPS;
setting.mag_output_bits = MAG_OUTPUT_BITS::M16BITS;
setting.fifo_sample_rate = FIFO_SAMPLE_RATE::SMPL_200HZ;
setting.gyro_fchoice = 0x03;
setting.gyro_dlpf_cfg = GYRO_DLPF_CFG::DLPF_41HZ;
setting.accel_fchoice = 0x01;
setting.accel_dlpf_cfg = ACCEL_DLPF_CFG::DLPF_45HZ;
mpu.setup(0x68, setting, sw);
Serial.println("done");
Serial.println(mpu.isConnectedMPU9250());
pinMode(13, OUTPUT);
}
void loop() {
if (mpu.update()) {
Serial.print(mpu.getYaw()); Serial.print(" ");
Serial.print(mpu.getPitch()); Serial.print(" ");
Serial.println(mpu.getRoll());
}
delay(20);
}
Анализатор после mpu.setup молчит. Помогите запустить :)
PS проблему также можно решить сделав ардуину ведомым устройством по программному i2c на частоте 400кгц.
А где цикл?
А по аппаратному i2c mpu запускается?
А по аппаратному i2c mpu запускается?
Да, без проблем
loop()?
Была у меня давненько проблема с одним сенсором и SoftWire.
Оказалось, что в библиотеке проблема. Почитал issues на гитхабе, обновился и все поехало.
когда смотришь как устроен девайс и какими задачами занимается внутренний микропроцессор все остальные проблемы его использования кажутся такими мелкими )))
Библиотека самая новая. Вчера скачал
Не, ну если аппаратный работает, то остается только два варианта:
- ошибка в библиотеке,
- ошибка в использовании библиотеки.
То, новая библиотека или старая, и когда последний раз скачана, не имеет никакой роли.
- ошибка в использовании библиотеки.
По примеру с гитхаба делаю.
К счастью я уже придумал как перевести эту часть на SPI.