???? - 5. 아두이노에서 지자기 센서(GY-271) 사용하기


간단히 말하면 나침반 역할을 하는 센서입니다.

칩셋이 원래는 HMC5883L이었으나 단종되어 최근에는 QMC5883L로 나오고 있는듯합니다. 하지만 보유중인 부품이 HMC5883L인 관계로 해당 칩셋 기준으로 테스트를 진행하겠습니다.



배선도



관련 라이브러리 설치

  1. 구글에서 HMC5883L arduino library를 검색합니다.
  2. 나온 결과 중에서 https://github.com/jarzebski/Arduino-HMC5883L 로 들어갑니다.
  3. 라이브러리를 ZIP 파일로 다운받습니다. (CODE 버튼 누르고, Download ZIP 선택)
  4. 아두이노 IDE를 실행
  5. 스케치 > 라이브러리 포함하기 > .ZIP 라이브러리 추가 메뉴를 실행합니다.
  6. 다운 받은 ZIP 파일을 선택합니다.


예제 실행

  1. 파일 >예제 밑에 Arduino-HMC5883L-master 항목이 생긴 것을 볼 수 있습니다.
  2. 이 밑에 있는 HMC5883L_processing 예제를 열어서 컴파일 후 업로드합니다.
  3. 툴 > 시리얼 모니터를 엽니다.


실행 결과

  • 아래와 같이 노멀 벡터 X/Y/Z 요소, 보정 안된 방위 각도, 보정(HMC5883L 각도 이슈)된 방위 각도, 평활화(smooth) 처리된 방위각 순으로 출력되는 것을 확인할 수 있습니다.
1117.80:-376.28:-92.00:345.83:337.00:339
1123.32:-380.88:-82.80:345.70:337.00:339
1116.88:-369.84:-89.24:346.11:339.00:339
1127.92:-387.32:-73.60:345.48:337.00:339
1120.56:-371.68:-84.64:346.08:339.00:339
1139.88:-386.40:-72.68:345.71:337.00:339
1121.48:-371.68:-84.64:346.10:339.00:339
1139.88:-386.40:-70.84:345.71:337.00:339
1130.68:-385.48:-73.60:345.61:337.00:339
1138.96:-387.32:-70.84:345.65:337.00:339
1129.76:-387.32:-72.68:345.51:337.00:339
1138.96:-387.32:-69.00:345.65:337.00:339
1129.76:-386.40:-69.92:345.55:337.00:339
1122.40:-373.52:-80.96:346.03:339.00:339
1132.52:-387.32:-69.92:345.55:337.00:339
1123.32:-373.52:-81.88:346.04:339.00:339
1141.72:-388.24:-66.24:345.65:337.00:339
1123.32:-372.60:-81.88:346.08:339.00:339
1141.72:-388.24:-68.08:345.65:337.00:339

,