Each Arduino digital pin can output a limited amount of current, an absolute maximum of 40 mA. This is enough to power an LED, a small buzzer speaker, or maybe a small vibrating motor. However, we need more current for our applications most of the time.
Using a transistor driver, we can easily power up more demanding loads. Here, we will quickly explore how to build a general transistor driver.
Following are the ingredients for this recipe:
An Arduino board connected to a computer via USB
A resistor between 220 and 4,700 ohm
A standard NPN transistor (BC547, 2N3904, N2222A, TIP120)
A standard diode (1N4148, 1N4001, 1N4007)