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 con otros entusiastas.
¿Por qué unirse?
Soporte experto: Resuelve problemas post-venta 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: Obtén acceso anticipado a nuevos anuncios de productos y adelantos exclusivos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones y sorteos festivos: Participa en sorteos y promociones de vacaciones.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
1.1.1 LED Parpadeante
Introducción
En este proyecto, aprenderemos cómo hacer un LED parpadeante mediante programación. A través de tus configuraciones, tu LED puede producir una serie de fenómenos interesantes. ¡Vamos a por ello!
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Raphael |
337 |
También puedes comprarlos por separado en los siguientes enlaces.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
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 un resistor, y luego conectamos el otro extremo del resistor al pin GND en la Raspberry Pi. Para encender el LED, necesitamos configurar GPIO17 a alto (3.3V). Podemos lograr este fenómeno mediante programación.
Nota
Pin11 se refiere al 11º pin de la Raspberry Pi de izquierda a derecha, y sus números de pin BCM correspondientes se muestran en la siguiente tabla.
En el contenido relacionado con el lenguaje Python, BCM 17 es 17 en la columna BCM de la siguiente tabla. Al mismo tiempo, son el mismo que el pin 11 en la Raspberry Pi, Pin 11.
Nombre T-Board |
físico |
BCM |
GPIO17 |
Pin 11 |
17 |
Procedimientos Experimentales
Paso 1: Construye el circuito.
Paso 2: Ve a la carpeta del código y ejecútalo.
Si usas una pantalla, se recomienda seguir los siguientes pasos.
Encuentra 1.1.1_BlinkingLed_zero.py y haz doble clic para abrirlo. Ahora estás en el archivo.
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 parte superior derecha para cerrarlo y volverás al código. Si modificas el código, antes de hacer clic en Run Module (F5) debes guardarlo primero. Luego puedes ver los resultados.
Si inicias sesión en la Raspberry Pi de forma remota, escribe el comando:
cd ~/raphael-kit/python-pi5
Nota
Cambia el directorio a la ruta del código en este experimento mediante cd.
Paso 3: Ejecuta el código
sudo python3 1.1.1_BlinkingLed_zero.py
Nota
Aquí sudo - superuser do, y python significa ejecutar el archivo con Python.
Después de ejecutar el código, verás que el LED parpadea.
- Paso 4: Si deseas editar el archivo de código
1.1.1_BlinkingLed_zero.py, presiona Ctrl + Cpara detener la ejecución del código. Luego escribe el siguiente comando para abrir1.1.1_BlinkingLed_zero.py:
nano 1.1.1_BlinkingLed_zero.py
Nota
nano es una herramienta de edición de texto. El comando se usa para abrir el archivo de
código 1.1.1_BlinkingLed_zero.py con esta herramienta.
Presiona Ctrl+X para salir. Si has modificado el código, aparecerá un mensaje preguntando
si deseas guardar los cambios o no. Escribe Y (guardar) o N (no guardar).
Luego presiona Enter para salir. Escribe nano 1.1.1_BlinkingLed_zero.py nuevamente para
ver el efecto después del cambio.
.. warning:
Si recibe el mensaje de error ``RuntimeError: Cannot determine SOC peripheral base address``, consulte :ref:`faq_soc`
Código
El siguiente es el código del programa:
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como raphael-kit/python-pi5. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import LED
from time import sleep
# Initialize an LED connected to GPIO pin 17 using the GPIO Zero library.
led = LED(17)
try:
# Start an infinite loop to toggle the LED state.
while True:
# Turn on the LED and print a message to the console.
led.on()
print('...LED ON')
# Wait for 0.5 seconds with the LED on.
sleep(0.5)
# Turn off the LED and print a message to the console.
led.off()
print('LED OFF...')
# Wait for 0.5 seconds with the LED off.
sleep(0.5)
except KeyboardInterrupt:
# Gracefully handle a keyboard interrupt (Ctrl+C) by breaking the loop.
# GPIO Zero handles cleanup of GPIO settings automatically on exit.
pass
Explicación del Código
Cuando el sistema detecta esto, buscará la ruta de instalación de python en la configuración del entorno, 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 python3Estas líneas importan las clases y funciones necesarias.
LEDdegpiozeropara el control del LED ysleepdetimepara los retrasos.from gpiozero import LED from time import sleep
Esta línea crea un objeto LED conectado al pin GPIO 17.
# Initialize an LED connected to GPIO pin 17 using the GPIO Zero library. led = LED(17)
Se inicia un bucle infinito usando
while True:. Dentro del bucle, se enciende el LED (led.on()) y se imprime un mensaje. El programa luego se pausa durante 0.5 segundos (sleep(0.5)). Después de eso, se apaga el LED (led.off()), se imprime otro mensaje y el programa se pausa nuevamente durante 0.5 segundos.try: # Start an infinite loop to toggle the LED state. while True: # Turn on the LED and print a message to the console. led.on() print('...LED ON') # Wait for 0.5 seconds with the LED on. sleep(0.5) # Turn off the LED and print a message to the console. led.off() print('LED OFF...') # Wait for 0.5 seconds with the LED off. sleep(0.5)
El bloque
exceptcaptura unaKeyboardInterrupt(como presionar Ctrl+C) y sale del bucle de manera segura. La declaraciónpassse usa aquí como un marcador de posición para indicar que no se toma ninguna acción específica ante la interrupción.except KeyboardInterrupt: # Gracefully handle a keyboard interrupt (Ctrl+C) by breaking the loop. # GPIO Zero handles cleanup of GPIO settings automatically on exit. pass