L298N Motor Module with Arduino Mega doesn't work.

Thread Starter

Ravdev

Joined Feb 7, 2020
18
So the problem is with the Arduino.
Leave the Enable A and Enable B in place.

Use this code:

digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
Try this in a loop...


digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(EN_A, HIGH);
delay(1000);
digitalWrite(EN_A, LOW);
delay(1000);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(EN_A, HIGH);
delay(1000);
digitalWrite(EN_A, LOW);
delay(1000);

Arrrr!
@MrChips beat me :)
Thanks! I guess the problem was in the code since it's all on HIGH. The ENA and ENB literally doesn't do anything if you don't need to control the speed so I'll just leave the jumper caps on them. Thanks again @MrChips, @dendad and to the others! :)
 

dendad

Joined Feb 20, 2016
4,641
I think you can use something like this...

// fwd
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(EN_A, HIGH);

digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
digitalWrite(EN_B, HIGH);

// rev
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(EN_A, HIGH);

digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
digitalWrite(EN_B, HIGH);

// left
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(EN_A, HIGH);

digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
digitalWrite(EN_B, HIGH);

// right
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(EN_A, HIGH);

digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
digitalWrite(EN_B, HIGH);

// bake
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(EN_A, HIGH);

digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
digitalWrite(EN_B, HIGH);

// coast

digitalWrite(EN_A, LOW);
digitalWrite(EN_B, LOW);


The directions may be wrong, depending on how the motors are wired etc.
 

MrChips

Joined Oct 2, 2009
34,860
You can use the ENABLE input as an emergency shut off.
Wire all your ENABLE inputs to one control output or to a mechanical switch. Set this signal to GND to disable all motors at once. Bring it to +5V to enable all motors.
 
Top