본문 바로가기

[SENSOR]/Accel

[LIS3LV02DL] 3축 가속도 센서 myAccel3LV02 모듈 테스트

[LIS3LV02DL] 3축 가속도 센서 myAccel3LV02 모듈 테스트

사용자 삽입 이미지

[LIS3LV02DL] 3축 가속도센서 (myAccel3LV02 모듈)을 이용하여 SPI방식의 제어 테스트.

LIS3LV02는 SPI, I2C구동이 가능하고, SPI구동을 위해 CS핀을 0으로 하면 된다.

제어 방법은 상당히 간단하며, 초기화 후 각 축의 레지스터에서 값을 읽어오기만 하면 된다.

초기화
디폴트 값이 파워다운 모드 이므로 CTRL_REG1레지스터에 초기 값을 쓰면 된다.
WriteReg(CTRL_REG1, 0xC7);  //1000.0111 Power on, enable all axis, self test off

X, Y,Z축 데이터 읽기
OUTX_L, OUTX_H 레지스터에서 값을 읽어오면 된다. 이때 각축의 데이터 값이 의미 있는 값인지는 STATUS_REG레지스터를 읽어 확인 할 수있다.

    //속도가 문제라면 이부분을 지우고 RDY핀을 GPIO로 읽으면된다.
    while(1)
    {
      ret = ReadReg(STATUS_REG);
      if ((ret & 0x8) != 0)break;
    }

   *data = ReadReg(OUTX_L);
   *data |= ReadReg(OUTX_H)<<8;

SPI인터페이스의 경우 SPI Mode0 로 인터페이스 가능하다.



LIS3LV02축방향 정보



테스트 동영상
가속도센서의 x축 데이터를 읽어서 그래프로 표시 하는 예제



[STM32-USB EVM]을 이용한 가속도 센서(LIS3LV02) 테스트 동영상



AVR쪽 커넥터 처리
왼쪽 부터 GND, PB0, BP1, PB2, PB3, ... VCC