Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
Soporte Experto: Resuelve problemas postventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances Exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos exclusivos.
Descuentos Especiales: Aprovecha descuentos exclusivos en nuestros productos más recientes.
Promociones Festivas y Sorteos: Participa en sorteos y promociones especiales.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
2.1.1 Botón
Introducción
En este proyecto, aprenderemos a encender o apagar el LED usando un botón.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Diagrama de Conexión
Utiliza un botón normalmente abierto como entrada para la Raspberry Pi; la conexión se muestra en el diagrama de abajo. Cuando se presiona el botón, el GPIO18 se elevará a un nivel alto (3.3V). Podemos detectar el estado del GPIO18 mediante programación. Es decir, si el GPIO18 cambia a un nivel alto, significa que el botón ha sido presionado. Al detectar esta señal, se puede ejecutar el código correspondiente para encender el LED.
Nota
La pata más larga del LED es el ánodo y la más corta es el cátodo.
Procedimientos del Experimento
Paso 1: Monta el circuito.
Paso 2: Abre el archivo de código.
cd ~/davinci-kit-for-raspberry-pi/python-pi5
Paso 3: Ejecuta el código.
sudo python3 2.1.1_Button.py
Ahora, presiona el botón y el LED se encenderá; suelta el botón y el LED se apagará.
Advertencia
Si aparece el mensaje de error RuntimeError: Cannot determine SOC peripheral base address, consulta Si gpiozero no funciona.
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Antes de eso, asegúrate de estar en la ruta del código fuente, como davinci-kit-for-raspberry-pi/python-pi5. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import LED, Button # Importa las clases LED y Button de gpiozero
from signal import pause # Importa la función pause del módulo signal
# Inicializa un objeto LED en el pin GPIO 17
led = LED(17)
# Inicializa un objeto Button en el pin GPIO 18
button = Button(18)
# Asocia el evento "when_pressed" del botón con el método on() del LED
button.when_pressed = led.on
# Asocia el evento "when_released" del botón con el método off() del LED
button.when_released = led.off
# Ejecuta un bucle de eventos que espera acciones del botón y mantiene el script en ejecución
pause()
Explicación del Código
El script está escrito en Python3 e importa las clases
LEDyButtonde la libreríagpiozero, ypausedel módulosignal.#!/usr/bin/env python3 from gpiozero import LED, Button # Importa las clases LED y Button de gpiozero from signal import pause # Importa la función pause del módulo signal
Inicializa un objeto
LEDen el pin GPIO 17 y un objetoButtonen el pin GPIO 18.# Inicializa un objeto LED en el pin GPIO 17 led = LED(17) # Inicializa un objeto Button en el pin GPIO 18 button = Button(18)
Configura manejadores de eventos para que el LED se encienda cuando el botón se presione y se apague cuando el botón se suelte.
# Asocia el evento "when_pressed" del botón con el método on() del LED button.when_pressed = led.on # Asocia el evento "when_released" del botón con el método off() del LED button.when_released = led.off
Mantiene el script en un bucle de eventos, esperando que se presione o suelte el botón.
# Ejecuta un bucle de eventos que espera acciones del botón y mantiene el script en ejecución pause()