Skip to Content
Getting Started with Arduino
book

Getting Started with Arduino

by Massimo Banzi
February 2009
Beginner
128 pages
2h 45m
English
O'Reilly Media, Inc.
Content preview from Getting Started with Arduino

Controlling Light with PWM

With the knowledge that you have so far gained, you could build an interactive lamp that can be controlled—and not just with a boring on/off switch, but maybe in a way that's a bit more elegant. One of the limitations of the blinking LED examples that we have used so far is that you can turn the light only on and off. A fancy interactive lamp needs to be dimmable. To solve this problem, we can use a little trick that makes a lot of things such as TV or cinema possible: persistence of vision.

As I hinted after the first example in Chapter 4, if you change the numbers in the delay function until you don't see the LED blinking any more, you will notice that the LED seems to be dimmed at 50% of its normal brightness. Now change the numbers so that the LED is on is one quarter of the time that it's off. Run the sketch and you'll see that the brightness is roughly 25%. This technique is called pulse width modulation (PWM), a fancy way of saying that if you blink the LED fast enough, you don't see it blink any more, but you can change its brightness by changing the ratio between the on time and the off time. Figure 5-3 shows how this works.

This technique also works with devices other than an LED. For example, you can change the speed of a motor in the same way.

While experimenting, you will see that blinking the LED by putting delays in your code is a bit inconvenient, because as soon as you want to read a sensor or send data on the serial port, the LED will flicker ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Getting Started with Arduino, 3rd Edition

Getting Started with Arduino, 3rd Edition

Massimo Banzi, Michael Shiloh
Mastering Arduino

Mastering Arduino

Jon Hoffman, Ejike (George Steve) Ifeanyichukwu, Pratik Desai
Arduino Cookbook

Arduino Cookbook

Michael Margolis

Publisher Resources

ISBN: 9780596155704Errata Page