Use Transistor As Motor Driver : Basic

Anshu AR 'profile picture'
13K10411

Intro: Use Transistor As Motor Driver : Basic

Hello everyone, In this instructable we will be using transistor as a Motor Driver.

Actually, We can't say it as a Motor Driver as it can just toggle motor ON or OFF rather than controlling the motor speed or direction.

But, Using the transistor protects our Arduino from burning out. As ordinary DC motors runs on High Amps or consume more current than what an Arduino can supply.

STEP 1: Gather the Parts

  • An Arduino
  • A breadboard
  • A 220ohm resistor
  • A 2N2222 transistor
  • A DC motor
  • A 9V battery
  • Some jumper or hookup wires

STEP 2: Wiring

Hookup all the components according to the circuit diagram shown above.

STEP 3: The Code

As I mentioned above we can just toggle motor ON or OFF.

So, The following code turns the motor ON for 10 sec then turns it OFF for 5 sec and cycles through the process.

void setup() {

pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH); // Turn the motor ON

delay(10000); // Wait for 10 secs

digitalWrite(13, LOW); // Turn the motor OFF

delay(5000); // Wait for 5 secs

}

STEP 4: Done

Now Power the arduino and see your motor spinning.

Thanks for viewing.

Please write your questions or suggestions below.

10 Comments

Bro I was not able change the direction of motor
Can you please help me

This circuit seems a bit strange to me. You use a 9 Volt battery for the Motor but you control the transistor from the Arduino in a circuit called an emitter follower. This means that the voltage over the Motor will not be larger than the voltage of the Arduino (I assume 5 Volt) minus the base-emitter Voltage drop which is about 0.7 Volts. So the maximum Voltage over the Motor is 4.3 Volts and so you do not need a 9 Volt battery but you can supply it with the 5 Volt of the Arduino. Next to that you need a dioide in parallel with the Motor since the Motor will generate a negative voltage spike as soon as you stop controlling it. The Diode must be connected with the cathode to the emitter of the transistor and with the anode to ground.

Yep!

But the circuit works great.

And yes, I do need to consider about the back emf from the motor.

Time to update my instructable.

This is great for making a remote control vehicle.

Do try.

I would love to see that.

You should be able to vary the speed of the motor using a PWM pin. Time to experiment!

Yeah!

PWM pins work great to change the motor speed.

appreciated but instead of transistor use mosfet because they can handle higher current

Mosfets are transistors as well.