Product | Shields | Motor Drive Shield -L298N V4.0
Motor Drive Shield -L298N V4.0
Motor Drive Shield -L298N V4.0
US$19.98 Loading ...

L298N Motor Drive Shield -V4.0


This item have been updated into Arduino Motor Drive Shield-L298N V5.0

This motor drive shield is based on L298N.It is more powerful than Arduino motor drive shield- L293D.L298N is a kind of high voltage、heavy current motor drive chip,maximum working voltage is 46V,constant working current is 2A,transient peak electric current is 3A。This chip contain high voltage heavy current bridge driver of two H-bridge,it can drive two DC motor directly.

This shield should firstly consider how to supply power to motor when linking to the circuit,if your Arduino adopt external power,and this power supply mode that can fit your motor driver,then link the motor to MA or MB:


Then link jumper wire of VM to VIN port.

Another way is supply less than 35V voltage to motor by itself,separately link to GND and VEX wire holder of motor shield,the motor link to MA or MB as the same:


But jump wire of VM  should link to VEX:

When talking about controlling principle,L298N are the same as L293D on function,they both control the direction of motor by two direction pin,and control the speed of motor by one enable pin。When to this shields,the motor MA direction pin is Arduino's 13 and 12 pin,speed pin is Arduino's 10 pin;while the motor MB direction pin is Arduino's 11 and 8 pin,speed pin is Arduino's 9 pin;

The test code show as below :

// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;

// motor B
// motor A
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;

unsigned long time;
int speed;
int dir;

void setup() {
  pinMode(dir1PinA, OUTPUT);
  pinMode(dir2PinA, OUTPUT);
  pinMode(speedPinA, OUTPUT);
  pinMode(dir1PinB, OUTPUT);
  pinMode(dir2PinB, OUTPUT);
  pinMode(speedPinB, OUTPUT);

  time = millis();
  speed = 0;
  dir = 1;

void loop() {
  analogWrite(speedPinA, speed);
  analogWrite(speedPinB, 255 - speed);
  // set direction
  if (1 == dir) {
    digitalWrite(dir1PinA, LOW);
    digitalWrite(dir2PinA, HIGH);
    digitalWrite(dir1PinB, HIGH);
    digitalWrite(dir2PinB, LOW);
  } else {
    digitalWrite(dir1PinA, HIGH);
    digitalWrite(dir2PinA, LOW);
    digitalWrite(dir1PinB, LOW);
    digitalWrite(dir2PinB, HIGH);
  if (millis() - time > 5000)  {
    time = millis();
    speed += 20;
    if (speed > 255) {
      speed = 0;
    if (1 == dir) {
      dir = 0;
    } else {
      dir =1;

4 LEDs standard for the motor direction of rotation,the illumination represent the motor speed:

moreover,there is a VL jumper wire on this shield ,it is used for choosing logic level for L298N,we will choose V5V usually,that's to say get logic voltage from Arduino。


If the VL jumper wire connect with VEX,it get the corresponding logic voltage through motor external power VEX after partial pressure and the voltage bleeder is LM3940, its highest voltage value is 35V, it also decide that the highest voltage of this shield is 35V on some procedure.

Click to download the schematic diagram of version 2.0

Click to download the schematic diagram V3.0

Click to download the L298 Datasheet


Write a review
*Review title
Please enter subject.
*Your review
Please enter review.
(Click star icon to comment)
Display name
*Enter security code


Please enter code
Loading ...
Best Sellers

Join our newsletter today, to get latest product information and promotion code.

Loading ...