សិល្បៈ
សម្រស់ និង សុខុមាលភាព
សិប្បកម្ម
វប្បធម៌ និង ប្រវត្តិសាស្ត្រ
ការកម្សាន្ត
បរិស្ថាន
ម្ហូប និង ភេសជ្ជៈ
អនាគតបៃតង
វិស្វកម្មបញ្ច្រាស
វិទ្យាសាស្ត្រ
កីឡា
បច្ចេកវិទ្យា
ប្រដាប់ដែលស្លៀក
Controlling a DC Motor with an L298N Driver
Ed

បង្កើតដោយ

Ed

13. កក្កដា 2026FI
2
0
0
0
0

Controlling a DC Motor with an L298N Driver

An Arduino pin can't power a motor directly — it can't supply enough current, and it can't reverse the flow. An L298N H-bridge solves both: the Arduino sends low-power control signals, and the driver switches the motor's own battery to run it forwards, backwards and at any speed. This is the core building block of every wheeled robot.

មធ្យម
1-2 hours

ការណែនាំ

1

Wire the driver, motor and battery

Push the L298N's control header into the breadboard. From the Arduino, jumper pin 8 to IN1, pin 9 to IN2, and pin 10 to ENA. Connect the DC motor's two wires to the OUT1/OUT2 screw terminals, and a 4×AA battery pack to the +12V and GND motor terminals. IMPORTANT: join all the grounds together — Arduino GND, driver GND and battery GND — or the motor won't run.

Materials for this step:

Arduino Uno R3 SMDArduino Uno R3 SMD1 piece
Full-Bridge Motor Driver Dual - L298NFull-Bridge Motor Driver Dual - L298N1 piece
Hobby Motor - GearHobby Motor - Gear1 piece
Battery Holder - 4xAA Square TerminatedBattery Holder - 4xAA Square Terminated1 piece
Breadboard - ClassicBreadboard - Classic1 piece
Jumper Wires Premium M/M 20 AWG - 15.5 cmJumper Wires Premium M/M 20 AWG - 15.5 cm1 pack
2

Connect and open the IDE

Plug the Arduino into your computer with the USB cable, open the Arduino IDE, and select Arduino Uno and its serial port. Leave the motor battery switched off until the code is uploaded.

Materials for this step:

SparkFun Cerberus USB Cable - 1.8 meterSparkFun Cerberus USB Cable - 1.8 meter1 piece

Tools needed:

Computer with Arduino IDEComputer with Arduino IDE
3

Upload the motor sketch

Paste this sketch and upload, then switch on the battery. The motor runs forward, stops, reverses, and stops — on a loop.

dc_motor_l298n.inoarduino
// Control a DC motor's speed and direction with an L298N H-bridge.
// L298N IN1 -> pin 8, IN2 -> pin 9, ENA (PWM speed) -> pin 10.
// The motor is powered by the battery pack through the driver; all grounds are joined.

const int IN1 = 8;
const int IN2 = 9;
const int ENA = 10;   // PWM speed pin (0-255)

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENA, OUTPUT);
}

void loop() {
  // forward at medium speed
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 180);
  delay(2000);

  // stop
  analogWrite(ENA, 0);
  delay(1000);

  // reverse at full speed
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 255);
  delay(2000);

  // stop
  analogWrite(ENA, 0);
  delay(1000);
}
4

Test and control it

Watch the motor go forward, stop, reverse. IN1/IN2 set the direction (swap which is HIGH to flip it); the number in analogWrite(ENA, ...) sets the speed from 0 (off) to 255 (full). If the motor doesn't spin, check that all three grounds are joined and the battery is on.

5

Make it a robot

The L298N drives TWO motors. Wire a second motor to OUT3/OUT4 and control it with IN3, IN4 and ENB on three more Arduino pins. Two motors on a chassis with wheels gives you a robot base you can drive — turn by running the wheels at different speeds or directions.

សម្ភារៈ

7

ឧបករណ៍ចាំបាច់

1
Estimated Total
$60.00

ប្លង់ពាក់ព័ន្ធ

ប្លង់ទាំងនេះចែករំលែកចំណេះដឹង — បច្ចេកទេស សម្ភារៈ ឬគោលការណ៍

CC0 សាធារណៈ

ប្លង់នេះត្រូវបានចេញផ្សាយក្រោម CC0។ អ្នកមានសិទ្ធិចម្លង កែប្រែ ចែកចាយ និងប្រើប្រាស់ដោយមិនចាំបាច់សុំអនុញ្ញាត។

គាំទ្រអ្នកបង្កើតដោយទិញផលិតផលតាមរយៈប្លង់របស់ពួកគេ ដែលពួកគេទទួលបាន កម្រៃជើងសារអ្នកបង្កើត កំណត់ដោយអ្នកលក់ ឬបង្កើតកំណែថ្មីនៃប្លង់នេះ ហើយបញ្ចូលជាការតភ្ជាប់ក្នុងប្លង់របស់អ្នកដើម្បីចែករំលែកចំណូល។

ការពិភាក្សា

(0)

ចូល ដើម្បីចូលរួមពិភាក្សា

កំពុងផ្ទុកមតិ...