Use Transistor As Motor Driver : Basic

7,448

101

10

Introduction: 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.

Makerspace Contest

Participated in the
Makerspace Contest

Be the First to Share

    Recommendations

    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    10 Discussions

    0
    pavankalyanbali123

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

    0
    RobBest
    RobBest

    4 years ago

    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.

    0
    Anshu AR
    Anshu AR

    Reply 4 years ago

    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.

    0
    DylanD581
    DylanD581

    4 years ago

    This is great for making a remote control vehicle.

    0
    Anshu AR
    Anshu AR

    Reply 4 years ago

    Do try.

    I would love to see that.

    0
    Smelter_uk
    Smelter_uk

    4 years ago

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

    0
    Anshu AR
    Anshu AR

    Reply 4 years ago

    Yeah!

    PWM pins work great to change the motor speed.

    0
    Nematic!
    Nematic!

    4 years ago

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

    0
    rafununu
    rafununu

    Reply 4 years ago

    Mosfets are transistors as well.