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 la 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.
1.1.1 LED Intermitente
Introducción
En este proyecto, aprenderemos a hacer que un LED parpadee mediante programación. Con tu configuración, el LED puede producir una serie de fenómenos interesantes. ¡Adelante, inténtalo!
Componentes Necesarios
Para este proyecto, necesitamos los siguientes componentes.

Diagrama de Conexiones
En este experimento, conectamos el pin GPIO 17 de la Raspberry Pi al ánodo (pin largo) del LED, luego el cátodo (pin corto) del LED a una resistencia, y conectamos el otro extremo de la resistencia al pin GND en la Raspberry Pi. Para encender el LED necesitamos configurar GPIO17 en alto (3.3V), y podemos lograr esto mediante programación.
Nota
Pin11 se refiere al pin 11 de la Raspberry Pi de izquierda a derecha, y su número de pin BCM correspondiente se muestra en la siguiente tabla.
En el contenido relacionado con el lenguaje Python, BCM 17 corresponde a 17 en la columna BCM de la siguiente tabla. A su vez, es el mismo que el pin 11 de la Raspberry Pi, Pin 11.
T-Board Name |
physical |
BCM |
GPIO17 |
Pin 11 |
17 |

Procedimientos del Experimento
Paso 1: Construye el circuito.

Paso 2: Ve a la carpeta del código y ejecútalo.
Si usas una pantalla, se recomienda seguir estos pasos.
Encuentra 1.1.1_BlinkingLed.py y haz doble clic para abrirlo.
Haz clic en Run ->Run Module en la ventana, y aparecerá el siguiente contenido.
Para detener la ejecución, simplemente haz clic en el botón X en la esquina superior derecha para cerrar la ventana, volviendo así al código. Si modificas el código, antes de hacer clic en Run Module (F5), debes guardarlo primero para ver los resultados.
Si inicias sesión en la Raspberry Pi de forma remota, ingresa el siguiente comando:
cd ~/davinci-kit-for-raspberry-pi/python-pi5
Nota
Cambia al directorio de la ruta del código en este experimento con el comando cd
.
Paso 3: Ejecuta el código
sudo python3 1.1.1_BlinkingLed.py
Nota
Aquí, sudo
es superuser do, y python indica que el archivo se ejecutará con Python.
Al ejecutar el código, verás que el LED parpadea.
Paso 4: Si deseas editar el archivo de código 1.1.1_BlinkingLed.py,
presiona Ctrl + C
para detener la ejecución del código. Luego, escribe el siguiente comando para abrir 1.1.1_BlinkingLed.py:
nano 1.1.1_BlinkingLed.py
Nota
nano es una herramienta de edición de texto. Este comando se usa para abrir el archivo de código 1.1.1_BlinkingLed.py con esta herramienta.
Presiona Ctrl+X
para salir. Si has modificado el código, aparecerá una
pregunta sobre si deseas guardar los cambios. Escribe Y
(guardar) o N
(no guardar).
Luego, presiona Enter
para salir. Escribe de nuevo nano 1.1.1_BlinkingLed.py para ver el efecto después de los cambios.
Advertencia
Si aparece un mensaje de error RuntimeError: Cannot determine SOC peripheral base address
, consulta Si gpiozero no funciona.
Código
A continuación se muestra el código del programa:
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes, debes acceder a la ruta del código fuente como davinci-kit-for-raspberry-pi/python-pi5
. Tras modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import LED
from time import sleep
# Inicializa un LED conectado al pin GPIO 17 usando la biblioteca GPIO Zero.
led = LED(17)
try:
# Inicia un bucle infinito para alternar el estado del LED.
while True:
# Enciende el LED e imprime un mensaje en la consola.
led.on()
print('...LED ON')
# Espera 0.5 segundos con el LED encendido.
sleep(0.5)
# Apaga el LED e imprime un mensaje en la consola.
led.off()
print('LED OFF...')
# Espera 0.5 segundos con el LED apagado.
sleep(0.5)
except KeyboardInterrupt:
# Maneja de forma segura una interrupción de teclado (Ctrl+C) saliendo del bucle.
# GPIO Zero gestiona automáticamente la limpieza de configuraciones de GPIO al salir.
pass
Explicación del Código
Al ejecutar el sistema, buscará la ruta de instalación de Python en la configuración env, luego llamará al intérprete correspondiente para completar la operación. Esto es para evitar que el usuario no instale Python en la ruta predeterminada
/usr/bin
.#!/usr/bin/env python3
Estas líneas importan las clases y funciones necesarias:
LED
degpiozero
para el control del LED ysleep
detime
para demoras.from gpiozero import LED from time import sleep
Esta línea crea un objeto LED conectado al pin GPIO 17.
# Inicializa un LED conectado al pin GPIO 17 usando la biblioteca GPIO Zero. led = LED(17)
Un bucle infinito se inicia con
while True:
. Dentro del bucle, el LED se enciende (led.on()
) y se imprime un mensaje. Luego, el programa se detiene por 0.5 segundos (sleep(0.5)
). Después, el LED se apaga (led.off()
), se imprime otro mensaje, y el programa se pausa nuevamente por 0.5 segundos.try: # Inicia un bucle infinito para alternar el estado del LED. while True: # Enciende el LED e imprime un mensaje en la consola. led.on() print('...LED ON') # Espera 0.5 segundos con el LED encendido. sleep(0.5) # Apaga el LED e imprime un mensaje en la consola. led.off() print('LED OFF...') # Espera 0.5 segundos con el LED apagado. sleep(0.5)
El bloque
except
captura unaKeyboardInterrupt
(como presionar Ctrl+C) y sale del bucle de manera segura. La declaraciónpass
se usa aquí como un marcador de posición para indicar que no se toma ninguna acción específica tras la interrupción.except KeyboardInterrupt: # Maneja de forma segura una interrupción de teclado (Ctrl+C) saliendo del bucle. # GPIO Zero gestiona automáticamente la limpieza de configuraciones de GPIO al salir. pass