[Arduino] 아두이노 DC 모터 제어하기(L298N)

아두이노 DC 모터 제어하기(L298N) DC 모터는 PWM((Pulse Width Modulation)을 이용해서 0 ~ 255 까지 속도를 제어 할 수 있다. 낮을 수록 회전수가 적어진다. 또 한 DC 모터를 제어하기 위해서 드라이버가 필요한데 회로도에 나와있는 L298D다. L298D는 DC모터와 Servo 모터를 제어 할 수 있다. 회로도 DC모터가 회전을 하지 않을 때 1. 회전 속도가 낮아 안 돌아감 -> 손으로 한번 돌려 봐야한다. 2. DC모터의 노란색, 초록색 선을 반대로 연결 -> 바꿔서 연결 해 볼 것. 코드 구현 DC모터를 255 속도로 1초마다 반대로 회전 하도록 하는 코드 // 모터 회전력 제어 #define EN_PIN 11 //모터 제어 핀 #define IN1_PIN 10 #define IN2_PIN 9 boolean bReverse = false ; void setup () { pinMode ( EN_PIN, OUTPUT ) ; pinMode ( IN1_PIN, OUTPUT ) ; pinMode ( IN2_PIN, OUTPUT ) ; } void loop () { setMotor ( 255 , bReverse ) ; delay ( 1000 ) ; bReverse = !bReverse; // 반향 반전 delay ( 1000 ) ; } void setMotor ( int nSpeed , boolean bReverse) { analogWrite ( EN_PIN, nSpeed ) ; // 속도 설정 if ( bReverse == 0 ) { digitalWrite ( IN1Pin, HIGH ) ; digitalWrite ( IN2Pi...