아두이노/아두이노 과제
모터 드라이버 L298N 모듈을 이용한 DC 모터 제어
펭킹
2024. 7. 18. 14:44
//모터 A 핀 설정
int IN1 = 7;
int IN2 = 6;
//모터 B 핀 설정
int IN3 = 5;
int IN4 = 4;
void setup() {
//모터 A 출력
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
//모터 B 출력
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
//동작 확인용 시리얼 모니터 통신 시작
Serial.begin(9600);
}
void loop() {
// 모터A 정회전 테스트
Serial.println("모터A 정회전");
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
delay(3000); // 3초간 회전
digitalWrite(IN1, LOW);
delay(1000); // 1초간 대기
// 모터B 정회전 테스트
Serial.println("모터B 정회전");
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(3000); // 3초간 회전
digitalWrite(IN3, LOW);
delay(1000); // 1초간 대기
// 모터A 역회전 테스트
Serial.println("모터A 역회전");
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
delay(3000); // 3초간 회전
digitalWrite(IN2, LOW);
delay(1000); // 1초간 대기
// 모터B 역회전 테스트
Serial.println("모터B 역회전");
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(3000); // 3초간 회전
digitalWrite(IN4, LOW);
delay(1000); // 1초간 대기
// 모터 정지 테스트
Serial.println("모터 정지");
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(3000); // 3초간 대기
}
모터드라이버와 아두이노 연결 시 같은 GND를 공유해야 전위차가 발생하지 않아서 제대로 작동한다.
L298N의 ENA와 ENB에 쇼트핀이 부착되어야 정상적으로 작동한다.