모터 테스트 코드
가장 먼저 할 일은 모터가 제대로 작동하는지 확인하는 것입니다. 아래 코드는 자동차를 2초 동안 앞으로 움직였다가 1초 동안 멈추는 것을 반복합니다.
L298N 모터 드라이버를 사용하는 것을 기준으로 작성되었습니다.
// 모터 A 제어 핀
#define ENA 5
#define IN1 18
#define IN2 19
// 모터 B 제어 핀
#define ENB 23
#define IN3 22
#define IN4 21
void setup() {
// 모터 제어 핀을 출력으로 설정
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
// 앞으로 이동
moveForward();
delay(2000);
// 정지
stopMotors();
delay(1000);
}
void moveForward() {
// 모터 A 정회전
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 200); // 속도 제어 (0-255)
// 모터 B 정회전
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENB, 200); // 속도 제어 (0-255)
}
void stopMotors() {
// 모터 A 정지
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(ENA, 0);
// 모터 B 정지
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENB, 0);
}
홈으로 돌아가기