아두이노 L9110 모터드라이버로 DC모터 제어하기아두이노, 라즈베리파이 등의 컨트롤러 보드로 모터를 제어하기 위해서는 모터와 아두이노 보드 중간에 모터드라이버를 연결해야합니다. 본문에서는 2개의 DC모터를 연결하여 사용할 수 있는 L9110 모터드라이버를 연결하여 DC모터를 제어 합니다.
■ 진행 전 알면 좋은 내용 · 아두이노 스케치(통합개발환경 IDE) 설치 및 기능 ■ 준비물 (Items) · L9110 모터 드라이버 · DC모터 · 아두이노 우노 보드 · 우노 케이블 (USB - B) · 400핀 브레드 보드 · M-M 케이블
■ 사양 (Specification) · 방향 및 속도 제어 가능 · 작동 전압: 2.5~12V · 작동 전류: 0~800mA · 소형 플랫폼 제작에 적합 · 터미널 스크류 연결 방식
■ 연결 회로도 (Fritzing)
■ 샘플코드 (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)
|