Nota
Hola, ¡bienvenido a la Comunidad de Entusiastas de SunFounder 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.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.
👉 ¿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 que un LED parpadee mediante programación. A través de tus configuraciones, tu LED puede producir una serie de fenómenos interesantes. Ahora, vamos a ello.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
|---|---|---|
Raphael Kit |
337 |
También puedes comprarlos por separado en los siguientes enlaces.
INTRODUCCIÓN DE COMPONENTES |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
En este experimento, conecta una resistencia de 220Ω al ánodo (el pin largo del LED), luego la resistencia a 3.3 V, y conecta el cátodo (el pin corto) del LED al GPIO17 del Raspberry Pi. Por lo tanto, para encender un LED, necesitamos hacer que el GPIO17 esté en nivel bajo (0V). Podemos obtener este fenómeno mediante programación.
Nota
Pin11 se refiere al pin 11 del Raspberry Pi de izquierda a derecha, y sus números de pin correspondientes en wiringPi y BCM se muestran en la siguiente tabla.
En el contenido relacionado con el lenguaje C, hacemos que el GPIO0 sea equivalente a 0 en wiringPi. Entre el contenido relacionado con el lenguaje Python, BCM 17 es 17 en la columna BCM de la siguiente tabla. Al mismo tiempo, son los mismos que el pin 11 en el Raspberry Pi, Pin 11.
Nombre T-Board |
físico |
wiringPi |
BCM |
GPIO17 |
Pin 11 |
0 |
17 |
Procedimientos Experimentales
Paso 1: Construir 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.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 luego volverás al código. Si modificas el código, antes de hacer clic en Run Module (F5) necesitas guardarlo primero. Luego puedes ver los resultados.
Si inicias sesión en el Raspberry Pi de forma remota, escribe el siguiente comando:
cd ~/raphael-kit/python
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.py
Nota
Aquí sudo - superuser do, y python significa ejecutar el archivo con Python.
Después de ejecutar el código, verás el LED parpadeando.
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 editor de texto. El comando se utiliza 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, habrá 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.py nuevamente para
ver el efecto después del cambio.
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. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
LedPin = 17
def setup():
# Set the GPIO modes to BCM Numbering
GPIO.setmode(GPIO.BCM)
# Set LedPin's mode to output,and initial level to High(3.3v)
GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)
# Define a main function for main process
def main():
while True:
print ('...LED ON')
# Turn on LED
GPIO.output(LedPin, GPIO.LOW)
time.sleep(0.5)
print ('LED OFF...')
# Turn off LED
GPIO.output(LedPin, GPIO.HIGH)
time.sleep(0.5)
# Define a destroy function for clean up everything after the script finished
def destroy():
# Turn off LED
GPIO.output(LedPin, GPIO.HIGH)
# Release resource
GPIO.cleanup()
# If run this script directly, do:
if __name__ == '__main__':
setup()
try:
main()
# When 'Ctrl+C' is pressed, the program destroy() will be executed.
except KeyboardInterrupt:
destroy()
Explicación del Código
#!/usr/bin/env python3
Cuando el sistema detecta esto, buscará la ruta de instalación de
python en la configuración de env, luego llamará al intérprete
correspondiente para completar la operación. Esto previene que el usuario
no tenga instalado python en la ruta predeterminada /usr/bin.
import RPi.GPIO as GPIO
De esta manera, se importa la biblioteca RPi.GPIO, luego se define una variable, GPIO para reemplazar RPI.GPIO en el código siguiente.
import time
Importa el paquete time, para la función de retraso de tiempo en el programa siguiente.
LedPin = 17
El LED está conectado al GPIO17 de la placa de extensión en forma de T, es decir, BCM 17.
def setup():
GPIO.setmode(GPIO.BCM)
GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)
Establece el modo del pin LedPin a salida y el nivel inicial a Alto(3.3v).
Hay dos formas de numerar los pines IO en una Raspberry Pi dentro de RPi.GPIO: números BOARD y números BCM. En nuestros proyectos, usamos los números BCM. Necesitas configurar cada canal que estás utilizando como entrada o salida.
GPIO.output(LedPin, GPIO.LOW)
Establece el GPIO17(BCM17) a 0V (nivel bajo). Dado que el cátodo del LED está conectado al GPIO17, el LED se encenderá.
time.sleep(0.5)
Retraso de 0.5 segundos. Aquí, la declaración es una función de retraso en el lenguaje C, la unidad es segundo.
def destroy():
GPIO.cleanup()
Define una función de destrucción para limpiar todo después de que el script termine.
if __name__ == '__main__':
setup()
try:
main()
# When 'Ctrl+C' is pressed, the program destroy() will be executed.
except KeyboardInterrupt:
destroy()
Esta es la estructura general de ejecución del código. Cuando el
programa comienza a ejecutarse, inicializa el pin ejecutando
setup(), y luego ejecuta el código en la función main() para
establecer el pin en niveles alto y bajo. Cuando se presiona Ctrl+C,
el programa destroy() será ejecutado.
Imagen del Fenómeno