O'Reilly logo

Arduino Development Cookbook by Cornel Amariei

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Controlling speed with PWM

A motor that can only be on or off is not that useful. We need to control the speed of a motor using code. Sometimes, we want the motor at half speed; sometimes we want it faster and sometimes slower. However, the motor is connected to a digital pin, whose value can either be maximum or nothing. How can we make this clear 1 and 0 into something in-between? With Pulse Width Modulation or PWM.

Getting ready

Following are the ingredients needed for this recipe:

  • A DC motor
  • A resistor between 220 ohm and 4,700 ohm
  • A standard NPN transistor (BC547, 2N3904, N2222A, TIP120) or a logic-level compatible MOSFET (IRF510, IRF520)
  • A standard diode (1N4148, 1N4001, 1N4007)

How to do it…

The following are the steps to control the speed of a ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required