Controlar un LED externo usando una Raspberry Pi y pines GPIO

En esta publicación, exploraremos los pines GPIO de Raspberry Pi creando un programa GPIO "Hello World" que da como resultado un LED rojo intermitente. Usaremos el lenguaje de programación Python. Estoy usando una Raspberry Pi Zero WH sin cabeza (inalámbrica con encabezados soldados) con Raspbian Stretch Lite (sistema operativo Raspberry Pi con una imagen mínima basada en Debian Stretch).

Hablaré con mi Pi sin cabeza usando sshy transferiré los archivos necesarios de mi Mac a Pi usando scpcomandos. Supongo que tiene su Raspberry Pi en funcionamiento con el sistema operativo Raspbian instalado. De lo contrario, hay muchos artículos en Internet que describen cómo configurar su Pi e instalar Raspbian, incluida la documentación oficial de Raspberry Pi.

Cosas que necesitarás:

  • 1 x Raspberry Pi (estoy usando el modelo Pi Zero WH)
  • 1 x tabla de pan
  • 1 x luz LED roja
  • 1 x resistencia de 330 ohmios
  • 2 x cable de puente hembra a macho

Configuración de pines GPIO

GPIO significa salida de entrada de propósito general . Con la ayuda de pines GPIO, una Raspberry Pi puede conectarse e interactuar con componentes electrónicos externos. Los modelos recientes de Raspberry Pi (modelos Pi 3, Pi Zero, Pi W y Pi WH, etc.) contienen 40 pines GPIO. Cada pin puede encenderse o apagarse, o irse HIGHo LOWen términos electrónicos. Si el pin está HIGHemite 3.3 voltios, si el pin LOWestá apagado.

En nuestro ejemplo, usaremos pin 6(suelo) y pin 25. Para saber más sobre los pines GPIO en Raspberry Pi, consulte pinout.xyz.

Configurando el circuito

Debe apagar el Pi mientras construye el circuito. Crearemos un circuito como se muestra en el diagrama a continuación:

Nota : La resistencia en la imagen es de 220 Ohm, pero he usado 330 Ohm en mi circuito.

  1. Utilice un cable de puente hembra a macho para conectar pin 6(Tierra) (cable negro en la imagen de arriba) a la fila negativa de la placa de pruebas.
  2. Utilice otro puente hembra a macho para conectar GPIO pin 25al punto representado por la fila Ay la columna 12en la placa de pruebas como se muestra arriba (cable azul en la imagen de arriba).
  3. Conecte un extremo de una resistencia de 330 ohmios a la fila negativa (la fila que está resaltada en verde donde se conectó anteriormente el cable negro de arriba) y conecte el otro extremo al punto representado por la Ccolumna 11de la fila en la placa como se muestra arriba.
  4. El extremo más corto del LED es el negativo y el más largo el positivo. El extremo más largo siempre debe estar conectado al punto del circuito con mayor voltaje (es decir, mayor potencial). El extremo más corto del LED está conectado a un GPIO pin 25(que puede generar 3.3V) a través del cable azul y el extremo más largo está conectado a tierra pin 6(que es 0V y actúa como el terminal negativo de la batería) a través del cable negro con una resistencia entre ellos.

Resistor

Teniendo en cuenta que había tomado clases de introducción a la ingeniería eléctrica y electrónica hace bastante tiempo (4 a 5 años aproximadamente), tenía dos preguntas para las que necesitaba respuestas. Por favor, tengan paciencia conmigo por ser ingenuo en este contexto.

  1. ¿Por qué necesitamos una resistencia en nuestro circuito?
  2. ¿Cómo determinamos cuántos ohmios (la medida de resistencia eléctrica) debe tener la resistencia?

Se requiere una resistencia para disipar la energía eléctrica adicional (voltaje) de la Raspberry Pi. Raspberry Pi está clasificado para suministrar 50 mA a 3,3 V. Digamos que nuestro LED rojo puede tener un voltaje directo (el voltaje directo es el "voltaje negativo", usado por el LED cuando está encendido) de alrededor de 2V y consume 4mA de corriente. Por lo tanto, la resistencia debe disipar los 1.3V restantes.

Usando la ley de Ohm, V = IR, R= (3.3V - 2V) / (4/1000)que viene a alrededor de 325 ohms- por lo que recomiendo usar una resistencia de 330 ohmios .

Descubrí esto en una discusión en un foro de Raspberry Pi.

Hacer que el LED parpadee usando Python

Ahora que tenemos un circuito completo, la siguiente parte es programar los puertos GPIO para que suceda la magia: hacer que el LED parpadee. Usaremos la salida de GPIO pin 25para hacer que el LED parpadee.

Inicie su Pi y conéctese usando ssh. En la terminal, use el siguiente comando para instalar la biblioteca de Python gpiozero. La gpiozerobiblioteca hace que trabajar con pines GPIO y componentes externos conectados sea muy simple.

Para instalar la biblioteca de Python, escriba sudo apt-get install python3-gpiozero.

Ahora ejecutaremos algo de código Python. Guarde el código a continuación en su sistema de archivos Pi en un archivo llamado blink1.py. Básicamente, el script enciende el LED conectado pin 25, duerme durante 1 segundo, luego apaga el LED y nuevamente duerme durante 1 segundo. Y esto se hace continuamente en un bucle hasta que se termina el programa (presionando ctrl+ c).

Ahora desde el terminal, vaya al directorio donde se guarda la secuencia de comandos y ejecutarlo con el comando: python3 blink1.py.

Verá el LED rojo parpadeando así:

Podemos crear muchas cosas divertidas gpiozerousando una configuración similar. Consulte la documentación gpiozeroque muestra algunos ejemplos interesantes. Intente construir un sistema de semáforos.

Publicado originalmente en shahbaz.co el 7 de abril de 2018.