MMA7361L 은 freescale 에서 제작한 아날로그 3축 가속도 센서 입니다. 저전력으로 동작하며 signal conditioning, 1-pole low pass filter, 온도 보상, self test, 0G(자유낙하) 감지 기능을 지원합니다. G-Select 핀으로 2개의 감도 중 하나를 선택할 수 있으며 0G offset 과 감도는 공장 초기화 상태로 초기화 되어 있습니다. MMA7361L 모듈은 배터리 관리를 위해 Sleep Mode 를 지원합니다.


Features

  • Low Voltage Operation: 2.2 V – 3.6 V
  • High Sensitivity (800 mV/g @ 1.5g)
  • Selectable Sensitivity (±1.5g, ±6g)
  • Fast Turn On Time (0.5 ms Enable Response Time)
  • Self Test for Freefall Detect Diagnosis
  • 0g-Detect for Freefall Protection
  • Signal Conditioning with Low Pass Filter
  • Robust Design, High Shocks Survivability
  • RoHS Compliant
  • Environmentally Preferred Product
  • Low Cost

Document


사용방법

MMA7361 모듈은 가속도 센서의 3축 측정값을 아날로그 출력으로 보내줍니다. 따라서 아두이노의 아날로그 입력 핀(A0~A5)을 이용해서 쉽게 측정값을 읽을 수 있습니다.

연결은 아래처럼 하면 됩니다.
Mma7361 2.jpg

Mma7361 pin.jpg


Example code

샘플 코드는 아래와 같습니다. 여기서는 전용 라이브러리를 사용하므로 링크에서 라이브러리를 다운로드 받아 설치해야 합니다.

#include <AcceleroMMA7361.h>
AcceleroMMA7361 accelero;
int x;
int y;
int z;

void setup()
{
  Serial.begin(9600);
  accelero.begin(13, 12, 11, 10, A0, A1, A2);
  accelero.setARefVoltage(5); //sets the AREF voltage to 3.3V
  accelero.setSensitivity(LOW); //sets the sensitivity to +/-6G
  accelero.calibrate();
}

void loop()
{
  x = accelero.getXAccel();
  y = accelero.getYAccel();
  z = accelero.getZAccel();
  Serial.print("\nx: ");
  Serial.print(x);
  Serial.print(" \ty: ");
  Serial.print(y);
  Serial.print(" \tz: ");
  Serial.print(z);
  Serial.print("\tG*10^-2");
  delay(500); //make it readable
}

테스트

MMA7361 모듈을 평평한 곳에 놓고 아두이노에 샘플 코드를 올립니다. 시리얼 모니터를 열면 MMA7361 모듈은 보정작업을 한 뒤 x, y, z 축의 측정 값을 보내줍니다. 라이브러리를 이용해 아날로그 핀에서 이 값을 받아 출력하면 아래처럼 표시됩니다.

아래 이미지는 평평한 곳에 모듈을 놓았을 때 Z축 중력가속도가 약 100(1 G)인 경우의 출력값입니다. 반드시 모듈을 평평한 곳에 두고 보정 작업을 거쳐야 합니다.

MMA7361 COM.jpg

참고자료