Hardware Reference
In-Depth Information
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.
 
Search WWH ::




Custom Search