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