Controlling motors with transistors
We can control a motor by directly connecting it to the Arduino digital pin; however, any motor bigger than a coin would kill the digital pin and most probably burn Arduino. The solution is to use a simple amplification device, the transistor, to aid in controlling motors of any size.
Here, we will explore how to control larger motors using both NPN and PNP transistors.
Getting ready
To execute this recipe, you will require the following ingredients:
An Arduino board connected to a computer via USB
A DC motor
A resistor between 220 ohm and 10K ohm
A standard NPN transistor (BC547, 2N3904, N2222A, TIP120)
A standard diode (1N4148, 1N4001, 1N4007)
All these components can be found on websites such as Adafruit, Pololu, and Sparkfun, or in any general electronics store.
How to do it…
The following are the steps to connect a motor using a transistor:
Connect the Arduino GND to the long strip on the breadboard.
Connect one of the motor terminals to VIN or 5V on the Arduino...