Nota
¡Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Sumérgete más profundamente en Raspberry Pi, Arduino y ESP32 con 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.
Vistas previas exclusivas: Obtén acceso anticipado a anuncios de nuevos productos y avances.
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 a hacer parpadear un LED mediante programación. A través de tus configuraciones, tu LED puede producir una serie de fenómenos interesantes. ¡Ahora, adelante!
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 enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
En este experimento, conecta una resistencia de 220Ω al ánodo (la pata larga del LED), luego la resistencia a 3.3 V, y conecta el cátodo (la pata corta) del LED a GPIO17 de Raspberry Pi. Por lo tanto, para encender un LED, necesitamos hacer que GPIO17 esté en nivel bajo (0V). Podemos obtener este fenómeno mediante programación.
Procedimientos Experimentales
Paso 1: Construye el circuito.
Paso 2: Ve a la carpeta del código.
cd ~/raphael-kit/nodejs/
Nota
Cambia el directorio a la ruta del código en este experimento vía cd.
Paso 3: Ejecuta el código
sudo node blink.js
Nota
Aquí sudo significa «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 blink.js,
presiona Ctrl + C para detener la ejecución del código. Luego escribe el siguiente
comando para abrir blink.js:
nano blink.js
Nota
nano es una herramienta de edición de texto. El comando se usa para abrir el archivo de código blink.js 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 blink.js nuevamente para
ver el efecto después del cambio.
Código
El siguiente es el código del programa:
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});
var led_state = 0;
function blink_led(){
led.digitalWrite(led_state);
led_state = !led_state;
}
setInterval(blink_led,300);
Alternativamente, escribe el código como una función de flecha específica de js:
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});
var led_state = 0;
setInterval(() => {
led.digitalWrite(led_state);
led_state = !led_state;
}, 300);
Explicación del Código
const Gpio = require('pigpio').Gpio;
Importa el constructor Gpio del paquete pigpio de esta manera,
y luego define una constante Gpio para representar este constructor.
Con una variedad de constructores, podemos usar js para controlar dispositivos electrónicos.
pigpio se puede utilizar para implementar GPIO rápido, PWM, control de servos, notificación de cambios de estado y manejo de interrupciones.
const led = new Gpio(17,{mode: Gpio.OUTPUT});
La palabra clave new se usa para construir objetos instanciados de la clase.
Conecta el LED al GPIO17 de la placa de expansión en forma de T,
establece el modo de LedPin en salida y asígnalo a la constante led,
es decir, construye un objeto GPIO17 led, y su modo es el modo de salida.
Hay dos formas de numerar los pines IO en la Raspberry Pi: número BOARD y número BCM. En nuestro proyecto, usamos el número BCM. Necesitas configurar cada canal usado como entrada o salida.
function blink_led(){
led.digitalWrite(led_state);
led_state = !led_state;
}
setInterval(blink_led,300);
El método setInterval() puede llamar funciones o calcular expresiones con un período especificado (en milisegundos).
Aquí cambiamos el estado de funcionamiento del LED con un período de 300ms.
El método gpio.digitalWrite(level) establece el nivel del gpio en 1 o 0.
var led_state = 0;
setInterval(() => {
led.digitalWrite(led_state);
led_state = !led_state;
}, 300);
Reescribe el código como una función de flecha para hacerlo más corto.
Imagen del Fenómeno