Todo sobre leds con arduino

Índice

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);
}