'L3G4200D'에 해당되는 글 1건

  1. 2012.09.10 [L3G4200D] 3축 자이로센서 테스트
[SENSOR]/Gyro2012. 9. 10. 00:24

[L3G4200D] 3축 자이로센서 테스트

[L3G4200D] 3축 자이로센서 테스트

 

 

 

 

 

L3G4200_DS.pdf

 

 - Three selectable full scales (250/500/2000 dps)
 - I2C/SPI digital output interface
 - 16 bit-rate value data output
 - 8-bit temperature data output

 

 

L3G4200D 블록도

 

 

 

 

 

 

 

 

//L3G4200D의 특정 레지스터 값을 읽음
unsigned char L3G4200_Read(unsigned char reg)

#ifdef L3GI2C_I2C_MODE
    // device address 및 write mode 설정
    L3GI2C_START(L3G4200D_SLAVE_ADDR + I2C_WRITE);
    if (len > 1)
        L3GI2C_WRITE(addr | L3G4200D_READ_MULTIPLE);
    else
        L3GI2C_WRITE(addr);

    // read로 전환해서 REPEATED START
    L3GI2C_START(L3G4200D_SLAVE_ADDR + I2C_READ);
    while(--len > 0)
    {
        *data++ = L3GI2C_READ_ACK();
    }
    *data = L3GI2C_READ_NAK();
    L3GI2C_STOP();
#endif


}

 

 

//L3G4200D의 특정 레지스터에 데이터를 기록
void L3G4200_Write(unsigned char reg, unsigned char data)
{
#ifdef L3GI2C_I2C_MODE
 L3GI2C_START(L3G4200D_SLAVE_ADDR+I2C_WRITE);     // device address 및 write mode 설정
 
    L3GI2C_WRITE(addr);
    while(len--)
        L3GI2C_WRITE(*data++);
    L3GI2C_STOP();
#endif
}

 

 

 

L3G4200D 자이로센서 테스트 동영상

자이로 센서의 각속도값을 적분하여 절대 위치를 표시하도록 해 보았다. 이번 테스트에는 샘플레이트가 높지 않고, 센서 자체에 드리프트가 있기 때문에 고속으로 움직이면 누적 오차가 발생하는 것을 볼수 있는데... 그렇다고 해도 다른 자이로 센서보다는 아주 안정적인것 같다.

 

 

 

 

Posted by nexp

댓글을 달아 주세요