Tabla de contenido:
- Paso 1: lo que necesitará
- Paso 2: construye tu circuito
- Paso 3: cree un script para controlar y probar los LED
- Paso 4: agregar flexibilidad mediante el uso de parámetros y declaraciones condicionales
Video: Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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á
- 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
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
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:
Cómo usar los pines GPIO de una Raspberry Pi y Avrdude para el programa Bit-bang DIMP 2 o DA PIMP 2: 9 pasos
Cómo usar los pines GPIO de una Raspberry Pi y Avrdude to Bit-bang-program DIMP 2 o DA PIMP 2: estas son instrucciones paso a paso sobre cómo usar una Raspberry Pi y el comando de código abierto gratuito avrdude to bit-bang -programe un DIMP 2 o DA PIMP 2. Supongo que está familiarizado con su Raspberry Pi y la línea de comandos LINUX. No tienes que
LED parpadea con Raspberry Pi - Cómo usar pines GPIO en Raspberry Pi: 4 pasos
LED parpadea con Raspberry Pi | Cómo usar pines GPIO en Raspberry Pi: Hola a todos, en estas instrucciones aprenderemos a usar GPIO de Raspberry pi. Si alguna vez ha usado Arduino, probablemente sepa que podemos conectar el interruptor LED, etc.a sus pines y hacer que funcione como. haga que el LED parpadee o reciba la entrada del interruptor, así que
¡Use Cortana y un Arduino para controlar los LED RGB o las tiras de LED con su voz !: 4 pasos (con imágenes)
¡Use Cortana y un Arduino para controlar los LED RGB o las tiras de LED con su voz !: En este instructivo, le mostraré cómo puede controlar su tira de LED o LED RGB con su voz. Esto lo hace la aplicación CoRGB, que está disponible de forma gratuita en la tienda de aplicaciones de Windows. Esta aplicación es parte de mi proyecto CortanaRoom. Cuando hayas terminado con
Desarrollo de aplicaciones utilizando pines GPIO en DragonBoard 410c con sistemas operativos Android y Linux: 6 pasos
Desarrollo de aplicaciones usando pines GPIO en DragonBoard 410c con sistemas operativos Android y Linux: El propósito de este tutorial es mostrar la información necesaria para desarrollar aplicaciones usando el pin GPIO en la expansión de baja velocidad DragonBoard 410c. Este tutorial presenta información para desarrollar aplicaciones usando los pines GPIO con SYS en el Andr
Enchufe ISP de 6 pines a 8 pines: 4 pasos
Enchufe ISP de 6 pines a 8 pines: La razón por la que construí este proyecto principalmente fue para programar el ATTiny45, que tiene una conexión de 8 pines, mientras que mi USBtinyISP (de Ladyada) solo tiene una conexión de 10 pines y 6 pines. Después de husmear en Internet durante aproximadamente 3-4 semanas, no encontré nada qué