[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로 읽으면된다.
[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
{
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
반응형