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

Aduino Uno 로 MPU-6050 자이로센서를 사용해 SG90 서보모터 제어하기

by 오마이엔지니어 2016. 3. 31.
반응형

Aduino Uno 로 MPU-6050 자이로센서를 사용해 SG90 서보모터를 회전시켜 보는 프로젝트 입니다

SG90 마이크로 서보모터에 대해서 알아보기

MPU-6050 은 3축 자이로 센서와 3축 가속도 센서의 기능이 결합된 센서 모듈 입니다
AVR 또는 Arduino 의 I2C bus 인터페이스를 사용하며 DMP(Digital Motion Processer) 기능은
센서 값과 복잡한 계산을 할수 있으며 펌웨어로 프로그래밍 가능하게 합니다
Robot 자동화 시스템, GPS, 게임 등 다양한 용도로 활용이 가능합니다

<MPU-6050 센서 이미지>



사용된 부품

Arduino Uno R3 (Italy)
MPU-6050 6 DOF 모듈

브래드 보드

SG90 마이크로 서보모터

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭) - MPU-6050은 미포함



구성 배선도 

사용된 예제소스  

MPU6050_SERVO.txt


사용된 라이브러리

twomey_MPU6050_DMP6.zip


주의사항
배선시 서보 모터의 핀맵에 주의 해야 합니다

빨간선이 VCC, 황색선이 GND, 노란선이 데이터 출력핀 입니다
MPU-6050 의 SCL 과 SDA 핀은 아두이노 우노의 SCL 과 SDA 핀에 연결 합니다
아두이노 우노의 핀헤더 측면 부분을 확인하면 표시가 되어 있습니다


아두이노 우노의 5V 전원은 MPU-6050 의 VCC 에 연결, 3.3V 전원은 서보모터의 VCC에 연결 합니다

(서보모터의 제어 최대각도는 180도 라는것을 확인하고 넘어갑시다)
(MPU-6050 을 회전해도 서보모터가 제대로 회전하지 않는다면 방향을 좌우 상하로 바꾸거나 각도를 바꿔서 테스트 합니다)

프로젝트 동영상


MPU-9250 으로도 위와 마찬가지로 동일하게 SG90 서보 모터를 제어할수 있습니다
MPU-9250 은 3축 가속도 센서 + 3축 자이로 센서 + 3축 지자계 센서 가 결합된 9축 IMU(Inertial Measurement Unit) 센서 모듈입니다
지자계 센서가 추가된것을 빼면 MPU-6050과 동일하기 때문에 위의 MPU-6050 라이브러리와 예제코드를 사용해 동일하게 제어할수 있습니다

*참고*
MPU-6050과 9250의 가장 큰 차이점은 지자기 센서의 포함 유무입니다
MPU-6050은 지자기 센서를 포함하지 않기때문에 지면과 수평인 Yaw 방향에 오차가 생깁니다
반면에, MPU-9250은 지자기 센서를 포함하고 있기때문에 Yaw 방향에 대해서도 정확한 각도를 추출합니다
Yaw 방향의 필요성에 따라 6050 혹은 9250을 선택해서 사용하면 됩니다

구성 배선도

프로젝트 동영상


MPU6050_SERVO.txt
0.0MB
twomey_MPU6050_DMP6.zip
0.06MB
반응형

댓글