아두이노 L9110 모터드라이버로 DC모터 제어하기

메이커 2018-08-19 (일) 21:54 5년전 7376  

아두이노, 라즈베리파이 등의 컨트롤러 보드로 모터를 제어하기 위해서는 모터와 아두이노 보드 중간에 모터드라이버를

연결해야합니다본문에서는 2개의 DC모터를 연결하여 사용할 있는 L9110 모터드라이버를 연결하여 DC모터를 제어

합니다.



7595aa66b97a8262ba54081667a4c0aa_1534683

 


저렴한 모터 드라이버 L9110 구매링크 바로가기

 

 

 

 진행 알면 좋은 내용

·      아두이노에 대해 알아보기

·      아두이노 스케치(통합개발환경 IDE) 설치 기능

·      아두이노 PWM 출력 알아보기



 준비물 (Items)

·      L9110 모터 드라이버

·      DC모터

·      아두이노 우노 보드

·      우노 케이블 (USB - B)

·      400 브레드 보드

·      M-M 케이블

 

 사양 (Specification)

·      방향 속도 제어 가능

·      작동 전압: 2.5~12V

·      작동 전류: 0~800mA

·      소형 플랫폼 제작에 적합

·      터미널 스크류 연결 방식

 

 연결 회로도 (Fritzing)

 

7595aa66b97a8262ba54081667a4c0aa_1534683
 

 

 

 샘플코드 (Sample Code) 

int L_motor_L = 5;                             // L_motor_L을 5번핀으로 설정합니다.
int L_motor_R = 6;                             // L_motor_R을 5번핀으로 설정합니다.
int R_motor_L = 9;                             // R_motor_L을 5번핀으로 설정합니다.
int R_motor_R = 10;                            // R_motor_R을 5번핀으로 설정합니다.
void setup() {
  pinMode(L_motor_L, OUTPUT);                  // L_motor_L을 출력모드로 설정합니다.
  pinMode(L_motor_R, OUTPUT);                  // L_motor_R을 출력모드로 설정합니다.
  pinMode(R_motor_L, OUTPUT);                  // R_motor_L을 출력모드로 설정합니다.
  pinMode(R_motor_R, OUTPUT);                  // R_motor_R을 출력모드로 설정합니다.
}

void loop() {
  analogWrite(L_motor_L, 0);                    // L_motor_L에 0(0V)의 신호를 출력합니다.
  analogWrite(L_motor_R, 150);                  // L_motor_R에 150(약3V)의 신호를 출력합니다.
  analogWrite(R_motor_L, 0);                    // R_motor_L에 0(0V)의 신호를 출력합니다.
  analogWrite(R_motor_R, 150);                  // R_motor_R에 150(약 3V)의 신호를 출력합니다.
  delay(3000);                                  // 3초간 대기
  analogWrite(L_motor_L, 150);                  // L_motor_L에 150(약 3V)의 신호를 출력합니다.
  analogWrite(L_motor_R, 0);                    // L_motor_R에 0(0V)의 신호를 출력합니다.
  analogWrite(R_motor_L, 150);                  // R_motor_L에 150(약 3V)의 신호를 출력합니다.
  analogWrite(R_motor_R, 0);                    // R_motor_R에 0(0V)의 신호를 출력합니다.
  delay(3000);                                  // 3초간 대기
}
■ 동영상 (Video)


메카리워즈 Image Map


모바일 버전으로 보기