본문 바로가기
Arduino(아두이노) 키트 강좌

Step.24-Arduino Uno 로 HMC5883L/QMC5883L 지자기 센서를 이용해 X, Y, Z 축 위치값 테스트 하기

by 오마이엔지니어 2015. 11. 20.
반응형

Arduino Uno 로 HMC5883L 지자기 센서를 이용해 X, Y, Z 축 위치값을 출력해 보는 프로젝트 입니다
HMC5883L은  HMC5883L 디지털 나침반 칩을 사용한 3축 지자기 센서 모듈(3-Axis Digital Compass Module) 입니다

전류가 와이어를 통과 할때 자기장이 발생된는 원리를 바탕으로 유용한 정보를 도출하여 계산하는데 도움이 됩니다

AVR 또는 아두이노(Arduino)로 다양한 프로젝트에 적용이 가능하며, MPU-6050 센서와 함께 사용하면 자세제어가 가능하여

퀴드콥터등에 유용하게 사용 되고 있습니다

<HMC5883L 3축 지자기 센서 모듈 이미지>

HMC5883L 3축 지자기 센서 모듈은 I2C IIC 통신프로토콜 방식으로 동작하며, 동작전압 3~5V, 측정범위 ±1.3~8 Gauss 입니다

VCC, GND, SCL, SDA DRDY 핀의 인터페이스 구성 입니다


<HMC5883L 3축 지자기 센서 회로도>


사용된 부품

Arduino Uno R3 (Italy)

HMC5883L 3축 지자기 센서

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭)

구성 배선도 

 

사용된 예제소스  

example code_compass.txt


사용된 라이브러리

HMC5883L Library For Arduino.rar


HMC5883L 3축 지자기 센서는 라이브러리를 추가해 주어야 합니다
라이브러리 추가 방법은 Arduino IDE 설치하기 포스팅을 참조해 주세요


주의사항
배선시 핀맵에 주의 합시다

VCC-------5V

GND-------GND

SCL-------A5

SDA-------A4


하단 프로젝트 동영상을 참고하면, 위치를 바꿀 때 마다 시리얼 모니터에 출력 된

X, Y, Z 출력값이 변하는 것을 확인 할 수 있습니다


Wire.h 는 아두이노 IDE를 설치하면 기본으로 제공되는 라이브러리 이며

본 프로젝트는 HMC5883L 지자기센서로 기본 X, Y, Z 위치값을 읽는 간단한 테스트로

HMC5883L 라이브러리는 사용하지 않았습니다

참고용으로 라이브러리 파일을 첨부하였습니다 (오픈소스로 제공된 HMC5883L 라이브러리를 사용한

여러가지 다양한 프로젝트들이 공유 되고 있습니다) 

 

프로젝트 동영상



HMC5883L 칩의 생산이 수월치 않아서 라고도 하고, 단종이라고 하기도 하고 아무튼 최근에는
HMC5883L 대신 QMC5883L 칩 QMC5883L-Datasheet.pdf 을 탑재해서 지자기 센서가
 출고되고 있습니다


<QMC5883L 칩을 탑재한 지자기 센서 이미지- IC의 마킹이 틀린것을 확인할수 있습니다>
이경우 기존의 HMC5883L 라이브러리나 예제로 동일하게 테스트 할수가 없습니다


QMC5883L 라이브러리를 사용해서 테스트 가능합니다

Mecha_QMC5883L-master.zip


라이브러리 설치 후 아두이노 IDE 에서
파일-->예제--->Mecha_QMC5883L-master--->example--->raw 순으로 클릭해서 테스트 하면 됩니다
배선은 위의 HMC5883L과 동일하게 하면 됩니다
arduino.cc 의 IDE 1.8.5 버전 기준으로 이상없이 테스트 하였습니다 (IDE 버전에 따라 컴파일 에러가 나는 경우가 있는것 같습니다)


프로젝트 동영상


example code_compass.txt
0.0MB
Mecha_QMC5883L-master.zip
0.0MB
HMC5883L Library For Arduino.rar
0.0MB
QMC5883L-Datasheet.pdf
1.0MB
반응형

댓글