.
Todo sobre leds con arduino
Índice
- Control de un led encendido y apagado.
- control de un led mediante pulsador.
- Encender led con un pulso y apagar con el siguiente pulso
- Control de un led mediante 2 pulsadores.
- Control de un led RGB (RGB Catodo comun).
- Control de un led RGB con potenciómetro (RGB Catodo comun).
1. Control de un led encendido y apagado
Materiales:
-1 Diodo led
-1 resistencia de 220 Ω
-1 Arduino
Diagrama de conexión:

Código de programación:
const int pinLed = 9; // Define el pin 9 para el LED
void setup() {
pinMode(pinLed, OUTPUT); // Configura el pin como salida
}
void loop() {
digitalWrite(pinLed, HIGH); // Enciende el LED (5V)
delay(1000); // Pausa de 1 segundo
digitalWrite(pinLed, LOW); // Apaga el LED (0V)
delay(1000); // Pausa de 1 segundo
}
2. control de un led mediante pulsador.
Materiales:
-1 Diodo led
-1 resistencia de 220 Ω (Para el led)
-1 resistencia de 10KΩ (Para el pulsador)
-1 Arduino
-1 pulsador
Diagrama de conexión:

Código de programación:
const int led = 9; // Pin donde está conectado el LED
const int BOTON = 7; // Pin donde está conectado el botón
int val; // Variable para almacenar el estado del botón
void setup() {
pinMode(led, OUTPUT); // Configura el pin del LED como salida
pinMode(BOTON, INPUT); // Configura el pin del botón como entrada
}
void loop() {
val = digitalRead(BOTON); // Lee el estado del botón
if (val == HIGH) { // Si el botón está presionado
digitalWrite(led, HIGH); // Enciende el LED
}
else { // Si el botón no está presionado
digitalWrite(led, LOW); // Apaga el LED
}
}
3. Encender led con un pulso y apagar con el siguiente pulso
Materiales:
-1 Diodo led
-1 resistencia de 220 Ω (Para el led)
-1 resistencia de 10kΩ (Para el pulsador)
-1 Arduino
-1 pulsador
Diagrama de conexión:

Código de programación:
const int led = 9; // Pin donde está conectado el LED
const int BOTON = 7; // Pin donde está conectado el botón
int val; // Variable para almacenar el estado del botón
int estadoLed = LOW; // Variable para almacenar el estado actual del LED
int ultimoVal = LOW; // Variable para almacenar el último estado del botón
void setup() {
pinMode(led, OUTPUT); // Configura el pin del LED como salida
pinMode(BOTON, INPUT); // Configura el pin del botón como entrada
digitalWrite(led, estadoLed); // Establece el estado inicial del LED
}
void loop() {
val = digitalRead(BOTON); // Lee el estado del botón
// Verifica si el botón ha cambiado de estado (de presionado a no presionado)
if (val == HIGH && ultimoVal == LOW) {
estadoLed = !estadoLed; // Cambia el estado del LED (de HIGH a LOW o viceversa)
digitalWrite(led, estadoLed); // Actualiza el LED con el nuevo estado
delay(50); // Pequeña pausa para evitar rebotes del botón
}
ultimoVal = val; // Guarda el estado actual del botón para la próxima iteración
}
4. Control de un led mediante 2 pulsadores.
Materiales:
-1 Diodo led
-1 resistencia de 220 Ω (Para el led)
-2 resistencias de 10kΩ (Para los pulsadores)
-1 Arduino
-2 pulsadores
Diagrama de conexión:

Código de programación:
const int led = 9; // Pin donde está conectado el LED
const int BOTON_ENCENDER = 7; // Pin donde está conectado el botón de encendido
const int BOTON_APAGAR = 6; // Pin donde está conectado el botón de apagado
void setup() {
pinMode(led, OUTPUT); // Configura el pin del LED como salida
pinMode(BOTON_ENCENDER, INPUT); // Configura el pin del botón de encendido como entrada
pinMode(BOTON_APAGAR, INPUT); // Configura el pin del botón de apagado como entrada
digitalWrite(led, LOW); // Inicialmente el LED está apagado
}
void loop() {
// Si se presiona el botón de encendido
if (digitalRead(BOTON_ENCENDER) == HIGH) {
digitalWrite(led, HIGH); // Enciende el LED
delay(200); // Pequeña pausa para evitar rebotes
}
// Si se presiona el botón de apagado
if (digitalRead(BOTON_APAGAR) == HIGH) {
digitalWrite(led, LOW); // Apaga el LED
delay(200); // Pequeña pausa para evitar rebotes
}
}
5. Control de un led RGB (RGB Catodo comun).
Materiales:
-1 Diodo led RGB
-3 resistencias de 220 Ω
-1 Arduino
Diagrama de conexión:

Código de programación:
// --- Configuración de Pines ---
// En Cátodo Común, el pin largo del LED va conectado a GND (Tierra).
int Rojo = 11;
int Verde = 10;
int Azul = 9;
void setup() {
// Se establecen los pines como salidas
pinMode(Rojo, OUTPUT);
pinMode(Verde, OUTPUT);
pinMode(Azul, OUTPUT);
}
/**
* Función para Cátodo Común (Lógica Directa)
* R, G, B: 0 es apagado, 255 es brillo máximo.
*/
void EstablecerColor(int R, int G, int B) {
// Al ser cátodo común, enviamos el valor directamente al pin
analogWrite(Rojo, R);
analogWrite(Verde, G);
analogWrite(Azul, B);
}
void loop() {
// Generamos valores aleatorios para cada color.
// Usamos 256 como límite superior porque random(min, max) no incluye el máximo.
int r = random(0, 256);
int g = random(0, 256);
int b = random(0, 256);
EstablecerColor(r, g, b);
// Espera 1 segundo antes de cambiar al siguiente color
delay(1000);
}
6. Control de un led RGB con potenciómetros (RGB Catodo comun) .
Materiales:
-1 Diodo LED RGB
-3 resistencias de 220 Ω
-3 potenciometros de 10kΩ
-1 Arduino
Diagrama de conexión:

Código de programación:
// --- Configuración de Pines LED (PWM) ---
int pinRojo = 11;
int pinVerde = 10;
int pinAzul = 9;
// --- Configuración de Pines Potenciómetros (Analógicos) ---
int potRojo = A0;
int potVerde = A1;
int potAzul = A2;
void setup() {
// Configuración de salidas para el LED
pinMode(pinRojo, OUTPUT);
pinMode(pinVerde, OUTPUT);
pinMode(pinAzul, OUTPUT);
// Los pines analógicos no requieren pinMode para leerse,
// pero es una buena práctica de organización.
}
void loop() {
// 1. Leer el valor de los potenciómetros (rango 0 - 1023)
int valRojo = analogRead(potRojo);
int valVerde = analogRead(potVerde);
int valAzul = analogRead(potAzul);
// 2. Mapear (convertir) los valores de 0-1023 a 0-255 (rango PWM)
int brilloR = map(valRojo, 0, 1023, 0, 255);
int brilloG = map(valVerde, 0, 1023, 0, 255);
int brilloB = map(valAzul, 0, 1023, 0, 255);
// 3. Aplicar el color al LED (Lógica directa para Cátodo Común)
EstablecerColor(brilloR, brilloG, brilloB);
// Pequeña pausa para estabilidad en la lectura
delay(10);
}
/**
* Función para aplicar el color
*/
void EstablecerColor(int R, int G, int B) {
analogWrite(pinRojo, R);
analogWrite(pinVerde, G);
analogWrite(pinAzul, B);
}