스마트폰을 기울여 가며 장애물을 피하는 게임을 해 본 사람은 ‘스마트폰의 움직임이 어떻게 화면에 반영될 수 있을까?’ 하는 의문을 가져 보았을 것이다. 가속도 센서는 이러한 동작 인식에 사용되는 센서 중 하나로 단위시간당 속도 변화를 검출하여 물체의 움직임을 인식하는 장치이다. 


<그림1>


가속도 센서가 3차원 공간에서의 움직임을 인식하기 위해서는 x, y, z 세 축 방향에서 가속도를 감지할 수 있어야 한다. 이에 착안한 것이 3축 가속도 센서이다. <그림 1>과 같이 스마트폰 기기의 가로 방향을 x축, 세로 방향을 y축, 앞면과 뒷면 방향을 z축으로 하는 3축 가속도 센서의 값은 <ax, ay, az>와 같이 방향성을 가진 세 요소로 구성된다. 


물체는 항상 중력의 영향을 받기 때문에, 가속도 센서로 물체가 움직인 궤적을 파악하려면 중력으로 인한 가속도와 그 외의 힘으로 인한 가속도를 함께 고려하는 복잡한 과정이 요구된다. 그러나 물체가 정지된 상태에서는 중력가속도만 고려하면 되기 때문에, 물체가 정지된 경우를 살펴보는 것이 3축 가속도센서 작동의 기본 원리를 이해하는 데 용이하다.


예를 들어, ㉠3축 가속도 센서가 장착된 스마트폰을 지면과 수평인 책상 위에 화면이 위로 가도록 평평하게 놓으면 정지된 상태에서도 중력가속도가 감지되므로 z축의 가속도 센서 값 az는 9.8()이 된다. x축과 y축은 중력가속도 방향과 이루는 각이 90°가 되어, x축과 y축의 가속도 센서 값은 0이 된다. 이 상태에서 스마트폰의 기울기를 변화시킨 후 정지된 상태로 두면, z축이 아닌 다른 축의 가속도 센서도 중력가속도를 감지하게 된다. 물론 이 경우에도 중력가속도 방향과 이루는 각이 90°인 축이 있다면 그 축의 가속도 센서 값은 0이 된다.


<그림2>


<그림 2>는 3축 가속도 센서가 장착된 스마트폰이 정지된 상태로, x축은 중력가속도 방향에 수직이지만 y축과 z축은 그렇지 않은 경우이다. 이 경우 y축 가속도 센서는 α의 가속도를, z축 가속도 센서는 β의 가속도를 감지한다. 즉, 가속도 센서 값 <ax, ay, az>는 <0, α, β>가 된다. 


<그림 2>에서 ay와 az의 값은 z축과 중력가속도 방향이 이루는 각에 따라 달라진다. 만일, z축이 <그림 2>보다 중력가속도 방향과 수직에 가까운 상태가 된다면, z축의 가속도 센서 값은 기울기 변화 이전의 상태에서보다 0에 가까운 값이 된다. 또, z축이 <그림 2>보다 중력가속도 방향과 나란한 방향에 가까운 상태가 된다면, z축의 가속도 센서 값은 기울기 변화 이전의 상태에서보다 중력가속도에 가까운 값이 된다. 이러한 방식으로 정지된 상태 각각에서의 가속도 센서 값을 비교하면 기울기 변화 정도를 파악할 수 있다.


― 김상철, 『3축 가속도 센서』