본문 바로가기
Arduino(아두이노) 활용 강좌

Arduino Uno 로 MMA8452Q 3축 가속도센서를 사용해 위치 변화에 따른 출력값 확인해 보기

by 오마이엔지니어 2018. 1. 4.
반응형


Arduino Uno 로 MMA8452Q 3축 가속도센서를 사용해서 센서의 위치 변화에 따른 출력값의 변화를

아두이노 IDE의 시리얼 모니터를 통해 확인해 보는 프로젝트 입니다


MMA8452Q 3축 가속도센서는 Freescale 사의 MMA8452Q MMA8452Q_Datasheet.pdf 칩 기반의

12비트 분해능의 저전력 3축 정전용량 MEMS 가속도센서 입니다
MMA8452Q 는 하이패스로 ±2g / ±4g / ±8g (사용자 선택 가능) 풀 스케일 필터링 된 데이터는 물론 필터링되지 않은 데이터를
실시간으로 사용할수 있습니다
2개의 인터럽트 핀 인터페이스 구성으로 유연한 사용자 프로그램 기능 옵션이 포함되어 있습니다
I2C 통신방식을 사용하며 자세제어, 방향감지, 기울기, 진동감지 등에 응용이 가능한 센서입니다


<MMA8452Q 3축 가속도센서 이미지>


<MMA8452Q 3축 가속도센서 상세사양>



사용된 부품

Arduino Uno R3 (Italy)
MMA8452Q 3축 가속도 센서
점퍼케이블
미니 브래드 보드



구성 배선도


사용된 라이브러리 

SFE_MMA8452Q.zip


Sparkfun SFE_MMA8452Q 라이브러리를 첨부하였습니다
라이브러리 추가 방법은 Arduino IDE 설치하기 포스팅을 참조해 주세요
 

사용된 예제소스 

example code.txt



주의사항
위에 첨부된 Sparkfun SFE_MMA8452Q 라이브러리를 추가해 준 다음 예제는 꼭 첨부된 example code 를
복사해서 붙여넣고 테스트 하도록 합니다

Sparkfun 의 MMA8452Q_Basic 예제는 3.3V 전압을 기본으로 하기때문에 본 모듈과는 맞지 않습니다
SparkFun Triple Axis Accelerometer Breakout - MMA8452Q
SparkFun_MMA8452Q_Arduino_Library

아두이노와의 연결은 센서가 I2C 통신방식을 사용하므로 I2C 인터페이스의 두 와이어만을 사용하여 배선하기 때문에 매우 간단합니다
Arduino Uno에서는 A4 (SDA) 및 A5 (SCL) 핀에 연결합니다

센서모듈의 기본 I2C 주소는 0x1C 입니다

이 주소를 변경하려면 SA0 핀을 하이 (3.3V)로 설정하면 주소가 0x1D로 변경 됩니다

이를 통해 동일한 I2C 버스에 2 개의 MMA8452 모듈을 장착 할 수도 있습니다

프로젝트 동영상


위 동영상에서 확인할 수 있듯이 위치가 변화없이 고정일때는 "Flat" , 위치가 변할때마다 출력값이 위치 변화에 따라

"Portrait Up" , "Portrait Down" , "Landscape Righ" , "Landscape Left" 으로 변합니다




SFE_MMA8452Q.zip
0.01MB
example code.txt
0.0MB
MMA8452Q_Datasheet.pdf
0.39MB
반응형

댓글