/* Project: L298N dual h-bridge motor driver module, 2 DC motors with speed control Function: Both DC motors rotate to both directions with smooth speed increase */ //************************************************************ int IN1 = 7;//input 1 of DC motor 1 attached to digital pin 7 int IN2 = 6;//input 2 of DC motor 1 attached to digital pin 6 int ENA = 9;//ENA of DC motor attached to PWM digital pin 9 int IN3 = 5;//input 3 of DC motor 2 attached to digital pin 5 int IN4 = 4;//input 4 of DC motor 2 attached to digital pin 4 int ENB = 3;//ENB of DC motor attached to PWM digital pin 3 //************************************************************ void setup() { pinMode (ENA, OUTPUT); //sets ENA as OUTPUT pinMode (IN1, OUTPUT);//sets IN1 as OUTPUT pinMode (IN2, OUTPUT);//sets IN2 as OUTPUT pinMode (ENB, OUTPUT); //sets ENB as OUTPUT pinMode (IN3, OUTPUT);//sets IN3 as OUTPUT pinMode (IN4, OUTPUT);//sets IN4 as OUTPUT } void loop() { digitalWrite (IN2, HIGH); digitalWrite (IN1, LOW); digitalWrite (IN4, HIGH); digitalWrite (IN3, LOW); for (int i = 50; i <= 180; ++i) { analogWrite(ENA, i); analogWrite(ENB, i); delay(30); } analogWrite (ENA, 0); analogWrite (ENB, 0); delay(500); digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); for (int i = 50; i <= 180; ++i) { analogWrite(ENA, i); analogWrite(ENB, i); delay(30); } analogWrite (ENA, 0); analogWrite (ENB, 0); delay(8000); }