Помогите пожалуйста с запуском гироскопа

Тема в разделе "Arduino & Shields", создана пользователем grx1a, 24 фев 2013.

  1. grx1a

    grx1a Гик

    сейчас при загрузке кода в arduino выходит error compiling, теперь L3G не работает
     
  2. grx1a

    grx1a Гик

    вроде немного разобрался, сделал так
    bool L3G::init(byte device, byte sa0)
    {Serial.println("Line 01
    ");
    _device = device;
    switch (_device)
    {Serial.println("Line
    02
    ");
    case L3G4200D_DEVICE:
    if (sa0 == L3G_SA0_LOW)
    {Serial.println("Line
    03
    ");
    address = L3G4200D_ADDRESS_SA0_LOW;
    return true;
    }
    else if (sa0 == L3G_SA0_HIGH)
    {Serial.println("Line
    04
    ");
    address = L3G4200D_ADDRESS_SA0_HIGH;
    return true;
    }
    else
    Serial.println("Line
    05
    ");
    return autoDetectAddress();
    break;
    case L3GD20_DEVICE:
    if (sa0 == L3G_SA0_LOW)
    {Serial.println("Line
    06
    ");
    address = L3GD20_ADDRESS_SA0_LOW;
    return true;
    }
    else if (sa0 == L3G_SA0_HIGH)
    {Serial.println("Line
    07
    ");
    address = L3GD20_ADDRESS_SA0_HIGH;
    return true;
    }
    else
    Serial.println("Line
    08
    ");
    return autoDetectAddress();
    break;
    default:
    return autoDetectAddress();
    }
    }
    // Turns on the L3G's gyro and places it in normal mode.
    void L3G::enableDefault(void)
    {Serial.println("Line
    09
    ");
    // 0x0F = 0b00001111
    // Normal power mode, all axes enabled
    writeReg(L3G_CTRL_REG1, 0x0F);
    }
    после чего в serial monitor появился Line 01 (постоянно висит) другие не появляются
     
  3. roggedhorse

    roggedhorse Гик

    Был похожий случай в моей практике, только с i2c компасом. Чип плохо пропаян был и МК зависал при попытке читать устройство.
     
    grx1a нравится это.
  4. grx1a

    grx1a Гик

    капец..... его пропоять это еще умудриться надо, это как блоху подковать. Огромнейшее спасибо за помощь!!! Придется наверное новый покупать. Если я правильно все понял то при I2C соединении пины SDO и CS должны быть всегда подключены на (+) 3.3V ?
     
  5. roggedhorse

    roggedhorse Гик

    Ваш гиро умеет и SPI и I2C
    Вы можете попробовать читать с него данные по шине SPI.
    Однако, для этого вам потребуется прочесть и понять даташит
     
  6. grx1a

    grx1a Гик

    Спасибо!!! Что то с изучением разных устройств ранее у меня все было просто и быстро до гироскопа, но с гироскопом не все просто как казалось, начну с инструкции, постепенно не торопясь
     
  7. utya

    utya Нуб

    Добрый день, а можно как-то изменить i2c адрес этого гира
     
  8. roggedhorse

    roggedhorse Гик

    Страница 23 даташита, второй абзац
    "The Slave ADdress (SAD) associated with the L3GD20 is 110101xb. The SDO pin can be
    used to modify the less significant bit of the device address. If the SDO pin is connected to
    voltage supply, LSb is ‘1’ (address 1101011b). Otherwise, if the SDO pin is connected to
    ground, the LSb value is ‘0’ (address 1101010b). This solution allows to connect and
    address two different gyroscopes to the same I2C bus."

    В Table 11. SAD+read/write patterns показано, что из этого получается.

    То есть адрес устройства может быть либо 0x6A, либо 0x6B
     
  9. SergNSK

    SergNSK Нуб

    Добрый день. Купил такую же штуку.. Хотелось правельный код попросить у Вас.

    Что в итоге получилось? Заранее огромное спасибо!