The Circuit Maker
Arduino12 min lectura

Cómo Conectar LEDs usando Arduino

Step-by-step tutorial on connecting LED lights to Arduino with schematic diagrams, breadboard layouts, and code examples.

·

Este tutorial tiene todo lo que necesitas saber sobre conectar luces LED usando un Arduino. Vamos a repasar los componentes necesarios para este tutorial y diferentes variaciones sobre cómo conectar LEDs a Arduino.

Este tutorial está diseñado para ser amigable para principiantes con explicaciones completas guiadas con diagramas y ejemplos para ayudarte a entender sobre el uso de luces LED con Arduino cuando necesites trabajar en proyectos más avanzados.

Qué Materiales Necesitarás

Hardware

Set de Luces LED de 5mmx 1
Protoboardx 1
Set de Cables Jumperx 1
Arduino Uno R3x 1
Cable de Datos USB Arduino UNOx 1
Set de Resistencias de 220 Ohmx 1

Software

Arduino IDE

Cómo Conectar un LED sin usar un Pin de Arduino

En este primer tutorial, aprenderás una forma básica de conectar un LED usando un Arduino sin tener que programarlo.

Diagrama Esquemático

Veamos primero el diagrama esquemático antes de conectar el circuito.

Esquemático para Conectar un LED sin usar un Pin de Arduino
Esquemático para Conectar un LED sin usar un Pin de Arduino

El circuito es simple. Arduino es la fuente de alimentación que proporciona 5V mientras lo conectes al pin de 5V. Nota que Arduino también tiene un pin de 3.3V. Para este circuito, usaremos los 5V.

No Destruyas la Luz LED

Luego, usamos una resistencia de 220Ω antes de conectar la luz LED. La razón por la que hacemos esto es para reducir el voltaje que viene de la fuente de alimentación para alimentar la luz LED.

Típicamente, los LEDs funcionan con un voltaje dentro de un rango de 1.8V y 3.3V basado en el color. Los LEDs sugeridos en la sección de Hardware tienen las siguientes especificaciones del fabricante:

  • LEDs Rojos y Amarillos: 2V - 2.2V
  • LEDs Blancos, Verdes y Azules: 3V - 3.2V

Si conectas una luz LED con un voltaje que excede su rango máximo de voltaje, destruirá el LED, y necesitarás usar otra luz LED.

La resistencia de 220Ω reduce el voltaje a 3V y la luz LED roja usa 2V. Esto es correcto ya que el voltaje total de un circuito en serie es igual a la suma de todos los voltajes individuales. Tomando eso como referencia, el voltaje a través de la resistencia y el voltaje a través del LED debe ser igual al voltaje que viene de la fuente de alimentación (Arduino).

Voltaje de Arduino = Voltaje a través de la Resistencia de 220Ω + Voltaje a través del LED Rojo

5V = 3V + 2V

Conecta la Luz LED Correctamente

Las luces LED tienen dos terminales, uno de los terminales es el ánodo y el otro es el cátodo. El ánodo son electrodos cargados positivamente (+). El cátodo son electrodos cargados negativamente (-).

Terminales de Luz LED
Terminales de Luz LED

Los terminales ánodo y cátodo de los LEDs pueden ser reconocidos por su longitud:

  • El terminal ánodo del LED es el terminal más largo
  • El terminal cátodo del LED es el terminal más corto y no es recto como el terminal ánodo.

¿Por qué es importante saber esto?

Porque basado en la forma en que los terminales del LED están conectados en el circuito, hará que el LED se encienda o no. Por lo tanto, cuando conectes el LED en el circuito. Asegúrate de conectar el terminal cátodo a tierra y el terminal ánodo al cable de resistencia después de que el voltaje sea reducido.

Diagrama del Protoboard

Ahora, estás listo para conectar este circuito básico. A continuación, verás el diagrama de cómo debe verse el circuito una vez que todo esté conectado.

Protoboard para Conectar un LED sin usar un Pin de Arduino
Protoboard para Conectar un LED sin usar un Pin de Arduino

Nota: Asegúrate de conectar el Cable de Datos USB Arduino UNO entre el Arduino y la computadora para proporcionar una fuente de alimentación al circuito.

Resultado

Aquí está el resultado final de cómo resultó para mí.

Resultado de Conectar un LED sin usar un Pin de Arduino
Resultado de Conectar un LED sin usar un Pin de Arduino

¡Felicidades! ¡Has hecho tu primer circuito!

Aunque usar Arduino como fuente de alimentación parece excesivo ya que Arduino es capaz de mucho más, nos muestra el conocimiento fundamental y la comprensión de cómo encender una luz LED. Sin embargo, es hora de que empecemos a usar los pines de Arduino y encender el LED programáticamente.

Cómo Conectar un LED usando un Pin de Arduino

Ahora que entiendes la base, usemos un pin de Arduino para encender la luz LED. Vamos a hacer pequeños cambios del circuito original así como empezar a escribir pequeños pedazos de código para encender la luz LED.

Diagrama Esquemático

Este es el diagrama esquemático del circuito que vamos a construir.

Conectar un LED usando un Pin de Arduino - Diagrama Esquemático
Conectar un LED usando un Pin de Arduino - Diagrama Esquemático

Tomando como referencia el diagrama esquemático, vamos a hacer lo siguiente:

  1. Conectar el Pin Digital 2 de Arduino a un cable de la resistencia de 220Ω
  2. Conectar el otro cable de la resistencia de 220Ω al terminal ánodo (+) de la luz LED
  3. Conectar el terminal cátodo (-) de la luz LED al pin GND o tierra de Arduino

Diagrama del Protoboard

A continuación, verás el diagrama de cómo debe verse el circuito una vez que todo esté conectado.

Conectar un LED usando un Pin de Arduino - Diagrama del Protoboard
Conectar un LED usando un Pin de Arduino - Diagrama del Protoboard

Nota cómo la única diferencia con respecto al circuito LED sin usar un Pin de Arduino es que la fuente de alimentación viene del pin digital 2 en lugar del puerto de 5V.

Subir el Código

Si no has instalado Arduino IDE en tu computadora, descárgalo e instala el software.

Una vez instalado, abre el software y crea un nuevo proyecto haciendo clic en File en el menú, y luego selecciona la opción New.

Ahora, copia el código de abajo y pégalo en tu proyecto de Arduino.

/* 
 *  Conectar un LED usando un PIN de Arduino. 
 *  
 *  Para más guías y tutoriales: https://www.thecircuitmaker.com 
 */

// configurar una variable para almacenar el número de pin que encenderá la luz LED
int ledPin = 2;

void setup(){
  // configurar el pin LED para comportarse como modo OUTPUT para enviar señales HIGH o LOW 
  pinMode(ledPin, OUTPUT); 
}

void loop()
{
   // encender el LED
   digitalWrite(2, HIGH);

   // esperar 1 segundo
   delay(1000);

   // apagar el LED
   digitalWrite(2, LOW);

   // esperar un segundo
   delay(1000);
}

Finalmente, sube el código a Arduino. Para hacerlo, asegúrate de tener el Arduino conectado a tu computadora usando el Cable de Datos USB Arduino UNO. Luego, ve al Arduino IDE y haz clic en la opción del menú Sketch y selecciona la opción Upload.

Entendiendo el Código

Primero, defino una variable llamada ledPin para almacenar el número del pin digital que quiero usar para enviar señales para encender o apagar la luz LED. Puedes actualizar el número de pin entre 1 a 13. Sin embargo, si decides hacerlo, debes actualizar el cable del circuito para usar cualquier número de pin que hayas seleccionado en Arduino.

// configurar una variable para almacenar el número de pin que encenderá la luz LED
int ledPin = 2;

En la función setup del código, configuramos el ledPin como modo OUTPUT usando la función pinMode. En Arduino, puedes configurar diferentes modos de pin: INPUT, OUTPUT, o INPUT_PULLUP. Usamos el modo OUTPUT, lo que significa que podemos proporcionar una cantidad sustancial de corriente a otros circuitos.

void setup(){
  // configurar el pin LED para comportarse como modo OUTPUT para enviar señales HIGH o LOW 
  pinMode(ledPin, OUTPUT); 
}

Finalmente, en la sección loop, programamos la lógica que enciende y apaga el LED. Cuando usamos la función digitalWrite usando HIGH, lo que significa que el voltaje que sale de un número de pin específico será 5V.

Luego, esperamos 1 segundo usando la función delay .

Después de un segundo, cambiamos el voltaje del pin que previamente definimos a cero usando la opción LOW.

Luego, esperamos otro segundo usando la función delay .

En la sección loop , el código se ejecutará una y otra vez una vez que ejecute todas las declaraciones. Por lo tanto, después de cambiar el voltaje a cero, y luego esperar un segundo, el código se ejecutará todo de nuevo desde el comienzo de la función loop , repitiendo el ciclo.

void loop()
{
   // encender el LED
   digitalWrite(ledPin, HIGH);

   // esperar 1 segundo
   delay(1000);

   // apagar el LED
   digitalWrite(ledPin, LOW);

   // esperar un segundo
   delay(1000);
}

Resultado

Tu LED debería estar parpadeando cada segundo. Si no está funcionando, siéntete libre de revisar los pasos una vez más y verificar que el código esté correctamente subido a Arduino.

Cómo Conectar Múltiples LEDs usando Múltiples Pines de Arduino

Ahora que sabemos cómo conectar un LED usando un pin de Arduino. Es hora de que conectemos múltiples LEDs usando múltiples Pines de Arduino. El circuito y la lógica del código son diferentes del tutorial anterior donde conectamos un LED usando un pin de Arduino. Sin embargo, la mayoría de la lógica y los diagramas de circuito usan la misma base.

Diagrama del Protoboard

A continuación, encontrarás el circuito que vamos a cablear. Échale un vistazo primero, y luego te explicaré lo que necesitas hacer.

Conectar múltiples LEDs usando múltiples Pines de Arduino - Diagrama del Protoboard
Conectar múltiples LEDs usando múltiples Pines de Arduino - Diagrama del Protoboard
  1. Usar un cable jumper para conectar el riel de alimentación azul del protoboard con uno de los pines GND de Arduino
  2. Obtener doce luces LED
  3. Conectar el terminal cátodo (-) de cada LED en el riel de alimentación azul del protoboard
  4. Conectar el terminal ánodo (+) de cada LED en una tira terminal separada (filas de 5 agujeros)
  5. Obtener doce resistencias de 220Ω
  6. Conectar un cable de conexión de cada resistencia a una de las mismas tiras terminales donde el terminal ánodo (+) de cada LED está conectado
  7. Conectar el otro cable de conexión de cada resistencia a una tira terminal que no haya sido usada
  8. Usar cables jumper para conectar una de las resistencias a uno de los pines digitales de Arduino. Estamos usando los pines digitales 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, y 13
  9. De esa manera, deberías tener un pin digital conectado a una resistencia de 220Ω, que también está conectada a un LED y su terminal cátodo (-) está conectado al riel de alimentación negativo del protoboard

Subir el Código

Ahora, copia el siguiente código y pégalo en el proyecto del Arduino IDE. Dentro del Arduino IDE, haz clic en la opción Verify para asegurarte de que no hay errores en el código.

/*
    Conectar Múltiples LEDs usando Múltiples Pines de Arduino.

    Para más guías y tutoriales: https://www.thecircuitmaker.com
*/

// configurar variable de array para almacenar todos los números de pin que encenderán los LEDs
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int totalPins = sizeof(ledPins) / sizeof(int);

// retraso de 1 segundo
int delayTime = 1000;

void setup() {
  // configurar los pines LED para comportarse como modo OUTPUT para enviar señales HIGH o LOW
  for (int i = 0; i < totalPins; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  blinkRandomLED();
}

void blinkAllLeds() {
  for (int i = 0; i < totalPins; i++) {
    // encender el LED
    digitalWrite(ledPins[i], HIGH);
  }

  // esperar 1 segundo
  delay(delayTime);

  for (int i = 0; i < totalPins; i++) {
    // apagar el LED
    digitalWrite(ledPins[i], LOW);
  }

  // esperar un segundo
  delay(delayTime);
}

void blinkOneLEDAtATime() {
  for (int i = 0; i < totalPins; i++) {
    // encender el LED
    digitalWrite(ledPins[i], HIGH);

    // esperar 1 segundo
    delay(delayTime);

    // apagar el LED
    digitalWrite(ledPins[i], LOW);

    // esperar un segundo
    delay(delayTime);
  }
}

void blinkRandomLED() {
  // seleccionar número de pin aleatorio
  int randomIndex = random(totalPins);
  int pinSelected = ledPins[randomIndex];
  
  // encender el LED
  digitalWrite(pinSelected, HIGH);

  // esperar 1 segundo
  delay(delayTime);

  // apagar el LED
  digitalWrite(pinSelected, LOW);

  // esperar un segundo
  delay(delayTime);
}

Asegúrate de tener tu Arduino conectado a la computadora antes de subir el código. Una vez que esté conectado, ve al Arduino IDE y haz clic en la opción del menú Sketch y selecciona la opción Upload.

Si no hay errores, deberías ver todas las luces LED parpadeando.

Entendiendo el Código

En la primera sección, definimos todos los pines digitales que estamos usando en el circuito en un array.

// configurar variable de array para almacenar todos los números de pin que encenderán los LEDs
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int totalPins = sizeof(ledPins) / sizeof(int);

En la función setup del código, configuramos todos los pines led como modo OUTPUT para que podamos emitir 0V o 5V en cualquier momento.

void setup() {
  // configurar los pines LED para comportarse como modo OUTPUT para enviar señales HIGH o LOW
  for (int i = 0; i < totalPins; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

Luego, definimos una función llamada blinkAllLeds y la llamamos dentro de la función loop . La blinkAllLeds se encarga de parpadear todos los LEDs al mismo tiempo.

void loop() {
  blinkRandomLED();
}

void blinkAllLeds() {
  for (int i = 0; i < totalPins; i++) {
    // encender el LED
    digitalWrite(ledPins[i], HIGH);
  }

  // esperar 1 segundo
  delay(delayTime);

  for (int i = 0; i < totalPins; i++) {
    // apagar el LED
    digitalWrite(ledPins[i], LOW);
  }

  // esperar un segundo
  delay(delayTime);
}

Usando otra Lógica de Código

Hay otras piezas de código que podemos usar para activar una lógica diferente. Por ejemplo, podrías haber notado una función llamada blinkOneLEDAtATime, que enciende y apaga un LED a la vez en orden secuencial.

void blinkOneLEDAtATime() {
  for (int i = 0; i < totalPins; i++) {
    // encender el LED
    digitalWrite(ledPins[i], HIGH);

    // esperar 1 segundo
    delay(delayTime);

    // apagar el LED
    digitalWrite(ledPins[i], LOW);

    // esperar un segundo
    delay(delayTime);
  }
}

En caso de que decidas probar la función blinkOneLEDAtATime, actualiza la función loop y activa la blinkOneLEDAtATime ahí. Luego, sube el código a Arduino.

void loop() {
  blinkOneLEDAtATime();
}

Finalmente, hay otra lógica llamada blinkRandomLED que selecciona aleatoriamente un pin digital para parpadear el LED cableado al pin digital seleccionado.

void blinkRandomLED() {
  // seleccionar número de pin aleatorio
  int randomIndex = random(totalPins);
  int pinSelected = ledPins[randomIndex];
  
  // encender el LED
  digitalWrite(pinSelected, HIGH);

  // esperar 1 segundo
  delay(delayTime);

  // apagar el LED
  digitalWrite(pinSelected, LOW);

  // esperar un segundo
  delay(delayTime);
}

Una vez más, si decides probar la función blinkRandomLED , actualiza la función loop y activa la blinkRandomLED ahí. Luego, sube el código a Arduino.

void loop() {
  blinkRandomLED();
}

Resultado

Dependiendo de qué lógica subiste a Arduino, tu circuito debería tener todos los LEDs parpadeando al mismo tiempo, tener un LED parpadeando secuencialmente ordenado por los pines digitales, o aleatoriamente encender y apagar un LED.

Conclusión

Cubrimos muchas cosas en este tutorial, empezando con un circuito básico que enciende una luz LED usando Arduino como fuente de alimentación. Luego, modificamos el circuito para hacer parpadear un LED usando un Arduino. Finalmente, cambiamos el circuito una vez más para usar múltiples pines de Arduino así como múltiples luces LED y ejecutar diferentes lógicas de código basadas en la función que subiste a Arduino.

¿Te gustó este artículo?

Espero que este artículo no solo haya sido útil sino también educativo. Si te gustó, comparte este artículo con amigos que estén interesados en electrónica y disfruten hacer proyectos divertidos.

Si tienes alguna duda, pregunta, o te encuentras con problemas mientras sigues este tutorial, no dudes en dejar un comentario en la sección de abajo.

Nota que los comentarios son retenidos para moderación para prevenir spam.