안녕하세요.
오늘은 지난번 MPU-9250 HW 편에 이어, MPU 9250 프로그래밍 소스 관련해서 한번 확인해 보려고 합니다. 우선 인터넷에서 검색해 본 결과 3가지 정도로 소스 형태가 있는 듯했습니다.
첫 번째로 기본값(RAW)을 바로 출력해 주는 소스
두 번째로 실제 모듈 값을 저역통과 필터와 상보 필터 등 이용해서 진동에 취약한 부분을 보완한 소스
세 번째로 하드웨어에서 지원해 주는 DMP(Digital Motion Processing)를 사용하는 방법이 있었습니다.
- 확인하는 방법은 첫 번째와 세 번째 공개된 소스를 참조해서 작동해 보도록 하겠습니다.
1. 배 선
- 연동 1편에서와 동일하게 하고 추가로 아두이노 나노의 D2(INT 0)라고 적힌 곳과 MPU-9520에 INT라고 적힌 곳을 점퍼와 연결해 줍니다.
<1 편 배선 참조>
https://remnant24c.tistory.com/41?category=807430
2. MPU-9250 프로그램 소스 확인
- 이번에는 인터넷에 소스를 공유해 주신 분들의 것을 이용해서 동작하는 것을 확인해 보도록 하겠습니다. (이렇게 해주셔서 조금 쉽게 접근할 수 있는 듯합니다. 감사합니다. ^^)
1) RAW 데이터값 확인
- 첨부파일을 다운로드하여서 압축을 풀고, 아두이노 프로그램에서 MPU9250_raw.ino 실행시킵니다. 그리고 컴파일과 아두이노로 다운로드시킵니다.
- 다운이 다 되었다면, 툴->시리얼 모니터, 통신속도 38400bps 실행시키면 정상적으로 값이 수치들이 올라옵니다. 그러나 이 값을 바로 사용할 수는 없을 것입니다. 민감하게 반응하기 때문에 보정이 필요합니다.
2) DMP 적용된 프로그램 소스
- 소스가 조금 어렵게 되어 있습니다. 그래서 분석을 하려면 시간을 조금 필요할 것 같습니다. 실행을 하면 바로 실행이 되는 것이 아니라 시리얼 모니터에서 아무 값하나를 입력해서 아두이노 나노로 전달하면 인터럽트 신호를 받고 기울기 데이터를 보내주기 시작합니다.
(통신속도는 115,200bps 으로 바꿔 주어야 글자가 깨지지 않습니다.)
- 바로 컴파일해서 출력하면 한 줄로 쭉 출력되기 때문에 출력하는 부분에 println(“”) 등 보기 편하게 수정을 한번 해서 출력하시면 됩니다.
- 출력 결과를 보면 YAW, PITCH, ROLL로 나타나고 있습니다.
참 고)
- MPU-9250을 3개를 구매했는데, 지자기 센서가 맞지 않아 사용을 못 한 제품이 있었습니다. 혹시 확인하시는 분도 된다면 DMP 소스를 가지고 실행하기 전 스마트폰 나침반 앱으로 북쪽이 어디 인지 확인 후 Yaw 값이 0과 대략 방향이 맞는지 확인하시면 좋을 것 같습니다.
<소스 참고 사이트>
1) MPU9520 - RAW 데이터 소스
2) MPU9520 - DMP 데이터 소스
'Embedded > Arduino' 카테고리의 다른 글
아두이노 나노 + HC-12 (433MHz RF 통신) 테스트 4편 – 여러 개 모듈 송수신 송수신 테스트 (2) | 2024.01.31 |
---|---|
아두이노 나노 + HC-12 (433MHz RF 통신) 테스트 3편 – 송수신 테스트 (거리체크) (2) | 2024.01.30 |
아두이노 나노 + HC-12 (433MHz RF 통신) 테스트 2편 - AT COMMAND (0) | 2024.01.27 |
아두이노 나노 + HC-12 (433MHz RF 통신) 테스트 1편- H/W설정 (0) | 2024.01.25 |
MPU-9250 기울기 센서 + 아두이노 나노 연동 1편 (0) | 2024.01.20 |