Tabla de contenido:

Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)
Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)

Video: Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)

Video: Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)
Video: 5) Raspberry PI 4 y Python3 desde Cero - Descripción Pines GPIO y Control Led - Pulsador 2024, Mes de julio
Anonim
Controlar varios LED con Python y los pines GPIO de su Raspberry Pi
Controlar varios LED con Python y los pines GPIO de su Raspberry Pi

Este Instructable demuestra cómo controlar múltiples pines GPIO en su RaspberryPi para alimentar 4 LED. También le presentará parámetros y declaraciones condicionales en Python.

Nuestro Instructable anterior Uso de los pines GPIO de su Raspberry Pi para controlar un LED demuestra cómo encender y apagar un solo LED mediante el comando GPIO.output. Este Instructable se basa en ese conocimiento para enseñarle cómo obtener más control sobre su circuito.

Paso 1: lo que necesitará

Que necesitarás
Que necesitarás
Que necesitarás
Que necesitarás

- Un RaspberryPi con Raspbian ya instalado. También deberá poder acceder a la Pi mediante un monitor, un mouse y un teclado o mediante un escritorio remoto. Puede utilizar cualquier modelo de Raspberry Pi. Si tiene uno de los modelos Pi Zero, es posible que desee soldar algunos pines de encabezado al puerto GPIO.

- LED rojo, azul, amarillo y verde

- Una placa de prototipos sin soldadura

- 4 resistencias de 330 ohmios

- Algunos cables de puente macho a hembra

Paso 2: construye tu circuito

Construye tu circuito
Construye tu circuito
Construye tu circuito
Construye tu circuito

Construya el circuito anterior en su tablero asegurándose de que ninguno de los cables de los componentes se toque y que los LED estén conectados de la manera correcta.

¿Cómo identifica los cables positivo y negativo (la polaridad) en sus LED? Si observa un LED de cerca, verá que tiene dos pequeñas piezas de metal dentro de la carcasa de color. Estos se denominan ánodo y cátodo. El cátodo es el más grande de los dos y también está conectado al cable negativo de los LED.

Una vez que haya verificado su circuito, conecte los cables de puente de los pines GPIO de su Raspberry Pi siguiendo el diagrama anterior.

Paso 3: cree un script para controlar y probar los LED

Cree un script para controlar y probar los LED
Cree un script para controlar y probar los LED

En su Raspberry Pi, abra IDLE (Menú> Programación> Python 2 (IDLE)).

Abra un nuevo proyecto, vaya a Archivo> Nuevo archivo. Luego escriba (o copie y pegue) el siguiente código:

importar RPi. GPIO como GPIO

tiempo de importación GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. salida (23, falso)

Guarde su proyecto como multilights.py (Archivo> Guardar como) en la carpeta Documentos de Raspberry Pis.

En su Raspberry Pi, abra Terminal (Menú> Accesorios> Terminal) y navegue a su carpeta Documentos escribiendo lo siguiente:

cd / home / pi / Documentos

Ahora puede ejecutar su nuevo script escribiendo lo siguiente:

python multilights.py

Las luces lo llevarán a su turno para encenderse y apagarse. El script anterior usa el comando time.sleep para crear una pausa entre cada paso, haciendo que cada luz permanezca encendida durante 3 segundos y espere 1 segundo antes de encender la siguiente luz.

Paso 4: agregar flexibilidad mediante el uso de parámetros y declaraciones condicionales

Mediante el uso de parámetros y declaraciones condicionales, podemos hacer que el script anterior sea mucho más flexible.

Un parámetro le permite almacenar un valor que puede usar más adelante en el script. Los tipos de valores más comunes son cadenas (texto), enteros (números enteros) o flotantes (números decimales).

Una declaración condicional determinará si un segmento de código debe ejecutarse verificando si se cumple una determinada condición. La condición también puede involucrar parámetros.

Abra IDLE en su Raspberry Pi y abra un nuevo proyecto (Archivo> Nuevo archivo). Luego escriba lo siguiente. Tenga cuidado de asegurarse de que todas las sangrías (pestañas) estén incluidas utilizando la tecla de tabulación:

importar RPi. GPIO como GPIO

tiempo de importación desde sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) if whichled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. output (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, Verdadero) Salida GPIO (LEDb, Verdadero) Salida GPIO (LEDc, Verdadero) Salida GPIO (LEDd, Verdadero)

Guarde su proyecto como controllight.py (Archivo> Guardar como) en su carpeta Documentos. Ahora abra Terminal (Menú> Accesorios> Terminal) y escriba el siguiente comando:

python controllight.py b en

El segundo LED debería encenderse. Ahora escriba lo siguiente:

python controllight.py b apagado

El segundo LED debería apagarse.

En las líneas 5, 6, 7 y 8, creamos los parámetros LEDa, LEDb, LEDc y LEDd para almacenar qué pin GPIO tenemos conectado a qué LED. Esto nos permite utilizar pines GPIO alternativos sin tener que realizar cambios sustanciales en el script.

Por ejemplo, si tuviéramos que conectar el primer cable LED al Pin 3 (GPIO 2) en su lugar, solo necesitaríamos cambiar la línea 5 a lo siguiente:

LEDa = 2

La línea 4 almacena los valores que ingresó después de controllight.py en los parámetros que llevaron (c) y ledaction (on). Luego, el script usa estos parámetros, junto con una serie de declaraciones condicionales para decidir qué LED controlar y si encenderlo o apagarlo.

La línea 16 (si ledaction == "on":) es una declaración condicional. Las líneas sangradas que siguen a esta declaración solo se ejecutarán si se cumple la condición de la declaración. En este escenario, la condición es que ledaction contenga el texto en.

Al leer las otras declaraciones condicionales del script, ¿puede predecir lo que sucederá cuando escriba el siguiente comando en la Terminal?

python controllight.py todo encendido

¿Por qué no intentarlo y publicar su respuesta en la sección de comentarios a continuación?

Recomendado: