Nota
¡Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros aficionados.
Why Join?
Expert Support: Resuelve problemas posventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Learn & Share: Intercambia consejos y tutoriales para mejorar tus habilidades.
Exclusive Previews: Obtén acceso anticipado a anuncios de nuevos productos y avances exclusivos.
Special Discounts: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Festive Promotions and Giveaways: Participa en sorteos y promociones festivas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo!
Lección 28: Módulo LED RGB
En esta lección, aprenderás a controlar un LED RGB con Arduino. Cubriremos la configuración del LED y luego nos adentraremos en la muestra de colores primarios y la creación de un espectro arcoíris vibrante. Este proyecto práctico es ideal para principiantes, proporcionando experiencia práctica con operaciones de salida y mezcla de colores en el entorno de Arduino.
Componentes Necesarios
Para este proyecto, necesitaremos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Universal de Sensores para Creadores |
94 |
También puedes comprarlos por separado en los siguientes enlaces.
Introducción del Componente |
Enlace de Compra |
|---|---|
Arduino UNO R3 o R4 |
|
- |
Conexiones
Código
Análisis del Código
El primer segmento del código declara e inicializa los pines a los que está conectado cada canal de color del módulo LED RGB.
const int rledPin = 9; // pin conectado al canal de color rojo const int gledPin = 10; // pin conectado al canal de color verde const int bledPin = 11; // pin conectado al canal de color azul
La función
setup()inicializa estos pines como SALIDA. Esto significa que estamos enviando señales DESDE estos pines al módulo LED RGB.void setup() { pinMode(rledPin, OUTPUT); pinMode(gledPin, OUTPUT); pinMode(bledPin, OUTPUT); }
En la función
loop(), se llama a la funciónsetColor()con diferentes parámetros para mostrar diferentes colores. La funcióndelay()se utiliza después de establecer cada color para pausar durante 1000 milisegundos (o 1 segundo) antes de pasar al siguiente color.void loop() { setColor(255, 0, 0); // Establece el color del LED RGB a rojo delay(1000); setColor(0, 255, 0); // Establece el color del LED RGB a verde delay(1000); // La secuencia de colores restante... }
La función
setColor()utiliza la funciónanalogWrite()para ajustar el brillo de cada canal de color en el módulo LED RGB. La funciónanalogWrite()utiliza la modulación por ancho de pulso (PWM) para simular salidas de voltaje variables. Controlando el ciclo de trabajo del PWM (el porcentaje de tiempo que una señal está ALTA en un período fijo), se puede controlar el brillo de cada canal de color, permitiendo la mezcla de diversos colores.void setColor(int R, int G, int B) { analogWrite(rledPin, R); // Utiliza PWM para controlar el brillo del canal de color rojo analogWrite(gledPin, G); // Utiliza PWM para controlar el brillo del canal de color verde analogWrite(bledPin, B); // Utiliza PWM para controlar el brillo del canal de color azul }