arduino:lsm6ds3_6軸ジャイロ

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
arduino:lsm6ds3_6軸ジャイロ [2019/11/20 15:34]
baba [LSM6DS3 IMU]
arduino:lsm6ds3_6軸ジャイロ [2019/11/20 15:36] (現在)
baba [Low Power Mode]
ライン 15: ライン 15:
   * low power mode(30-40uA)   * low power mode(30-40uA)
 の状態を分けることで消費電力を落としています.なので例えばデバイスをスリープさせたいときには,6軸センサをlow powerモードにして interruptをONにして,それ以外の機能を寝かせる.という段取りになります. の状態を分けることで消費電力を落としています.なので例えばデバイスをスリープさせたいときには,6軸センサをlow powerモードにして interruptをONにして,それ以外の機能を寝かせる.という段取りになります.
 +
 +<​code>​
 + //​Error accumulation variable
 +  uint8_t errorAccumulator = 0;
 +
 +  errorAccumulator += imu.writeRegister(LSM6DS3_ACC_GYRO_CTRL6_G,​ 0b00010000);​
 +  errorAccumulator += imu.writeRegister(LSM6DS3_ACC_GYRO_CTRL7_G,​ 0b10000000);​
 +  // //Now, write the patched together data
 +  // 10h
 +  errorAccumulator += imu.writeRegister(LSM6DS3_ACC_GYRO_CTRL1_XL,​ 0b00010000);​
 +  // 11h
 +  errorAccumulator += imu.writeRegister(LSM6DS3_ACC_GYRO_CTRL2_G,​ 0b00010000);​
 +
 +  //Set the ODR bit
 +  /*
 +    uint8_t dataToWrite;​
 +    errorAccumulator += imu.readRegister(&​dataToWrite,​ LSM6DS3_ACC_GYRO_CTRL4_C);​
 +    Serial.println(dataToWrite,​ BIN);
 +    dataToWrite &= ~((uint8_t)LSM6DS3_ACC_GYRO_BW_SCAL_ODR_ENABLED);​
 +    Serial.println(dataToWrite,​ BIN);
 +  */
 +  // Enable tap detection on X, Y, Z axis, but do not latch output
 +  errorAccumulator += imu.writeRegister( LSM6DS3_ACC_GYRO_TAP_CFG1,​ 0x0E );
 +
 +  // Set tap threshold
 +  // Write 0Ch into TAP_THS_6D
 +  errorAccumulator += imu.writeRegister( LSM6DS3_ACC_GYRO_TAP_THS_6D,​ 0x03 );
 +
 +  // Set Duration, Quiet and Shock time windows
 +  // Write 7Fh into INT_DUR2
 +  errorAccumulator += imu.writeRegister( LSM6DS3_ACC_GYRO_INT_DUR2,​ 0x7F );
 +
 +  // Single & Double tap enabled (SINGLE_DOUBLE_TAP = 1)
 +  // Write 80h into WAKE_UP_THS
 +  errorAccumulator += imu.writeRegister( LSM6DS3_ACC_GYRO_WAKE_UP_THS,​ 0x80 );
 +
 +  // Single tap interrupt driven to INT1 pin -- enable latch
 +  // Write 08h into MD1_CFG
 +  errorAccumulator += imu.writeRegister( LSM6DS3_ACC_GYRO_MD1_CFG,​ 0x08 );
 +</​code>​
 +
 +
  
  • arduino/lsm6ds3_6軸ジャイロ.txt
  • 最終更新: 2019/11/20 15:36
  • by baba