Los pines GPIO de propósito general incluidos en las placas de Raspberry sirven como una interfaz de conexión con el mundo exterior.
Para empezar a usarlos es necesario comprender que su función principal es la de proporcionar entradas y salidas digitales, con las cuales poder controlar componentes electrónicos programables como sensores y motores, siendo de mucha ayuda las librerías Python o cualquier otro lenguaje de programación elegido por el usuario.
En esta ocasión hacemos referencia a uno de los proyectos básicos con los cuales introducirse en las aplicaciones electrónicas de los ordenadores Raspberry.
Material necesario
1 Raspberry Pi 4
1 LED de 5 mm
1 resistencia de 330 Ω
1 placa de prototipos o protoboard
cables macho/macho, hembra/macho
Qué es un LED
Un LED es un semiconductor que emite luz cuando pasa corriente a través de él. Su funcionamiento es similar al de una bombilla, salvo que solo permite el flujo de corriente en una dirección: del polo positivo (ánodo) al negativo (cátodo).
Cuántos amperios soporta un LED de 5 mm
La mayoría de LED de 5 mm soportan intensidades de corriente entre 20 mA y 30 mA. Este valor es menor al proporcionado por los pines de la Raspberry, por lo que siempre debe ser acompañado de una resistencia.
Cuántos voltios consume un LED
El voltaje utilizado por un LED cuando está encendido (forward voltage) va de 1.85 V a 2.5 V. Un valor medio sería 2.2 V.
Cálculo de la resistencia para el LED
A fin de no quemar el LED será necesario utilizar una resistencia entre este y el pin GPIO al que lo conectemos.
El valor de la resistencia se calcula utilizando la ley de Ohm (V=I*R) y la ley del voltaje de Kirchhoff. Esta última sostiene que el voltaje suministrado a un circuito cerrado debe ser igual al consumido.
Los datos que conocemos son el voltaje suministrado por los pines (Vs= 3.3 v); el voltaje utilizado por el LED (Vled= 2.2 v); la intensidad de corriente típica (I= 0.02 A).
Según la ley de Kirchhoff:
Vs = Vled + Vr ===> Vr = Vs – Vled
Aplicando la ley de Ohm a la resistencia:
Vr = I*R ===> R = (Vs – Vled)/I= (3.3 – 2.2)/0.02= 55 Ω
El valor de la resistencia obtenido es de 55 Ω. Pero podemos utilizar un valor mayor. Solo hay que tener en cuenta que cuanto mayor sea el valor de la resistencia menor será el brillo del LED.
Cableado del circuito
Haciendo uso de la protoboard y cables, conecta la patilla más corta del LED al pin GND. Enseguida, conecta la patilla más larga a una resistencia de 330 Ω. El otro extremo de la resistencia conéctala al pin GPIO 23.
Código en Python para hacer parpadear un LED
A continuación presentaremos 3 scripts en Python que permiten a una Raspberry hacer parpadear un LED. En los dos primeros utilizaremos la librería GPIO Zero y en el restante la librería RPi.GPIO.
Script 1
from gpiozero import LED
from time import sleep
led=LED(23)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
Script 2
from gpiozero import LED
from signal import pause
led=LED(23)
led.blink()
pause()
Script 3
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
while (True):
GPIO.output(23, True)
time.sleep(1)
GPIO.output(23, False)
time.sleep(1)
Una consulta. Y cómo se ejecuta un script? Cómo lo cargo a la Raspberry?