
P A R T I V
H A R D W A R E H A C K I N G
224
If true real-time operation is required for your project, the Pi may be a bad choice. Instead,
consider using a microcontroller platform such as the popular open-source Arduino, or one
of the MSP430 family of microcontrollers from Texas Instruments. Both of these devices
can interface with the Pi either through the GPIO header or over USB, and provide a special-
ised real-time environment for control and sensing.
GPIO Output: Flashing an LED
For the first example, you’ll need to build a simple circuit consisting of an LED and a resistor.
The LED will provide visual confirmation that the Pi’s GPIO port is doing what your Python
program tells it to do, and the resistor will limit the current drawn by the LED to protect it
from burning out.
Calculating Limiting Resistor Values
An LED needs a
current limiting resistor
to protect it from burning out. Without a resistor, an LED
will likely only work for a short time before failing and needing to be replaced. Knowing a resistor
is required is one thing, but it’s also important to pick the right resistor for the job. Too high a
value and the LED will be extremely dim or fail to light at all; too low a value and it will burn out.
To calculate the resistor value required, you will need to know the
forward current
of your
LED. This is the maximum current the LED can draw before being damaged, and is measured
in milliamps (mA). You’ll also need to know the
forward voltage
of the LED. This latter value,
measured in volts, should be 3.3 V or lower—any higher, and the LED will require an external
power supply and a switching device known as a
transistor
before it will work with the Pi.
The easiest way to work out how large a resistor is required is with the formula
R=(V-
F)/I
, where
R
is resistance in ohms,
V
is the voltage applied to the LED,
F
is the forward
voltage of the LED and
I
is the maximum forward current of the LED in amps (with a thou-
sand mA to the amp).
Taking a typical red LED with a forward current of 25 mA and a forward voltage of 1.7 V, and
powering it using the 3.3 V supplied by the Pi’s GPIO port, you can calculate the resistor
needed as
(3.3 – 1.7) / 0.025 = 64
. Thus, a resistor of 64
Ω
or higher will protect
the LED. These figures rarely come out to match the common resistor values as sold, so
when you’re choosing a resistor, always round up to ensure the LED is protected. The near-
est commonly available value is 68
Ω
, which will adequately protect the LED.
If you don’t know the forward voltage and forward current of your LEDs (for example, if the
LEDs did not come with documentation or were salvaged from scrap electronics), err on the
side of caution and fit a reasonably large resistor. If the LED is too dim, you can revise
downwards—but it’s impossible to repair an LED that has been blown.
Содержание A
Страница 1: ......
Страница 2: ......
Страница 3: ...Raspberry Pi User Guide 2nd Edition...
Страница 4: ......
Страница 5: ...Raspberry Pi User Guide 2nd Edition Eben Upton and Gareth Halfacree...
Страница 10: ......
Страница 26: ...R A S P B E R R Y P I U S E R G U I D E S E C O N D E D I T I O N 10...
Страница 28: ......
Страница 29: ...Chapter 1 Meet the Raspberry Pi...
Страница 37: ...Chapter 2 Getting Started with the Raspberry Pi...
Страница 56: ......
Страница 57: ...Chapter 3 Linux System Administration...
Страница 79: ...Chapter 4 Troubleshooting...
Страница 89: ...Chapter 5 Network Configuration...
Страница 109: ...Chapter 6 The Raspberry Pi Software Configuration Tool...
Страница 122: ......
Страница 123: ...Chapter 7 Advanced Raspberry Pi Configuration...
Страница 140: ......
Страница 141: ...Chapter 8 The Pi as a Home Theatre PC...
Страница 151: ...Chapter 9 The Pi as a Productivity Machine...
Страница 159: ...C H A P T E R 9 T H E P I A S A P R O D U C T I V I T Y M A C H I N E 143 Figure 9 4 Exporting a file from The Gimp...
Страница 160: ......
Страница 161: ...Chapter 10 The Pi as a Web Server...
Страница 171: ...Part III Programming with the Raspberry Pi Chapter 11 An Introduction to Scratch Chapter 12 An Introduction to Python...
Страница 172: ......
Страница 173: ...Chapter 11 An Introduction to Scratch...
Страница 189: ...Chapter 12 An Introduction to Python...
Страница 216: ......
Страница 218: ......
Страница 219: ...Chapter 13 Learning to Hack Hardware...
Страница 234: ......
Страница 235: ...Chapter 14 The GPIO Port...
Страница 249: ...Chapter 15 The Raspberry Pi Camera Module...
Страница 265: ...Chapter 16 Add on Boards...
Страница 279: ...Part V Appendixes Appendix A Python Recipes Appendix B Camera Module Quick Reference Appendix C HDMI Display Modes...
Страница 280: ......
Страница 281: ...Appendix A Python Recipes...
Страница 287: ...Appendix B Raspberry Pi Camera Module Quick Reference...
Страница 293: ...Appendix C HDMI Display Modes...