Control de un LED RGB (KY-016) mediante tres potenciómetros y una placa Arduino

Funcionamiento

Este proyecto tiene como finalidad diseñar un sistema que permita el control individual de los colores primarios (rojo, verde y azul) de un LED RGB modelo KY-016, utilizando tres potenciómetros conectados a una placa Arduino. La combinación de estos elementos permite crear un sistema interactivo que explora principios fundamentales de la electrónica y la programación, brindando la posibilidad de generar una amplia gama de colores mediante el ajuste manual de los potenciómetros.


Componentes

  • 1 LED RGB (KY-016)
  • 3 potenciómetros de 10 kΩ
  • 1 placa Arduino (por ejemplo, Arduino Uno)
  • Resistencias adecuadas para los LEDs (220Ω o 330Ω)
  • Cables de conexión y una protoboard

Conexiones

  • Conexión de los potenciómetros: Los tres potenciómetros se conectan a los pines analógicos de la placa Arduino (por ejemplo, A0, A1 y A2). Cada uno tiene tres terminales: el pin central se conecta al pin analógico, uno de los extremos a 5V y el otro a GND.
  • Conexión del LED RGB: Los pines correspondientes a los colores rojo, verde y azul del LED RGB se conectan a los pines PWM de la placa Arduino (por ejemplo, 9, 10 y 11) a través de resistencias. El pin común (cátodo o ánodo) se conecta a GND o 5V, dependiendo del tipo de LED RGB.

Código

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Arduino.h>

int redPin = 9;    // Pin del color rojo
int greenPin = 10; // Pin del color verde
int bluePin = 11;  // Pin del color azul

int redPot = A0;   // Pin del potenciómetro para el color rojo
int greenPot = A1; // Pin del potenciómetro para el color verde
int bluePot = A2;  // Pin del potenciómetro para el color azul

void setup() {
  // Configura los pines como salidas
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  // Lee los valores de los potenciómetros
  int redValue = analogRead(redPot);
  int greenValue = analogRead(greenPot);
  int blueValue = analogRead(bluePot);
  
  // Convierte los valores de los potenciómetros a un rango de 0 a 255
  redValue = map(redValue, 0, 1023, 0, 255);
  greenValue = map(greenValue, 0, 1023, 0, 255);
  blueValue = map(blueValue, 0, 1023, 0, 255);
  
  // Establece el color del LED RGB
  analogWrite(redPin, redValue);
  analogWrite(greenPin, greenValue);
  analogWrite(bluePin, blueValue);
}


Diseños


Videos


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Carrito de compra