Select Page

En este tutorial hablaremos sobre cómo se debe conectar un LED (diodo emisor de luz) a nuestra tarjeta Arduino. Sin embargo lo haremos con cierto grado de profundidad, de manera que podamos utilizar este conocimiento para otras aplicaciones.

Probablemente cuando comenzaste con Arduino el primer programa que cargaste fue el que permite hacer parpadear el LED en el pin 13. Sin embargo, puede que nunca hayas prestado mucha atención a los componentes electrónicos involucrados.

En este tutorial arrojaremos un poco de luz en el tema, permitiéndote diseñar circuitos correctamente para hacer funcionar tus LEDs sin dañarlos.

Especificaciones principales de un LED

Existen algunas especificaciones clave que requerimos para seleccionar un LED y diseñar nuestros circuitos con Arduino. Las principales características a tomar en cuenta serán las siguientes:

  • Voltaje de polarización directa – VF Es la caída de tensión que se presenta en el LED cuando se aplica un voltaje de polarización en sentido directo y la corriente se limita a un valor conocido. Debemos calcular la resistencia en serie para mantener el voltaje y corriente en el LED en los valores deseados
  • Corriente (típica) en directa – IF Es la corriente que va a circular a través del LED. Para la mayoría de los LEDs de 5 mm la corriente ideal estará en torno a los 20 mA.
  • Corriente máxima – Es la corriente máxima que puede circular por el LED sin que se dañe. Superar esta corriente puede causar daños en el LED o disminuir su vida útil sensiblemente.

Los parámetros anteriormente mencionados normalmente los publica el fabricante del LED, aunque en algunos casos puede resultar difícil de encontrar dicha información.

¿Cómo distinguir el positivo y el negativo (polaridad) en un LED?

Como hemos mencionado anteriormente, un LED es un diodo, lo que significa que se trata de un dispositivo que tiene polaridad. Para conectar un LED debemos respetar la polaridad, de lo contrario el dispositivo no funcionará.

Afortunadamente los leds de 3 y 5 mm tienen un diseño estándar que facilita la identificación de la polaridad. Las siguientes características nos permiten determinar muy fácilmente la polaridad.

  • El ánodo (lado positivo) tiene una pata más larga y el contorno del led es redondo. También podremos apreciar que la lámina dentro del encapsulado del led es más pequeña.
  • El cátodo (lado negativo) tiene una pata más corta y el contorno del led tiene una muesca aplanada. Es posible diferenciar una lamina más grande dentro del encapsulado.

Lo anterior se resume en la siguiente imagen:

Cómo distinguir la polaridad de un led, cómo distinguir el positivo (ánodo) y el negativo (cátodo) en un led común.

¿Cómo elegir la resistencia para un LED?

Una vez que sabemos identificar las principales características de un LED y que podemos determinar la polaridad del mismo, debemos diseñar un circuito capaz de proveer la corriente necesaria al led.

Permitir que fluya demasiada corriente a través del componente causará falla prematura (si se conecta directo a 5 volts la falla será instantánea). En cambio si pasa demasiada corriente no habrá brillo o será muy tenue.

La forma más común de controlar la corriente en un LED es mediante una resistencia. Valores típicos van desde 220 ohms, 330 ohms y hasta 1 Kohm.

Para determinar estos valores aplicamos la ley de ohm de la siguiente forma:

  1. Determinar el voltaje de polarización directa del LED (VF). Normalmente este dato se obtiene de la hoja de especificaciones de cada componente, sin embargo para LEDs rojos y verdes de 5 mm podemos asumir un voltaje de 1.8 a 2 volts, mientras que para LEDs azules el voltaje será de 3 a 3.5 volts.
  2. Determinar el voltaje de alimentación del circuito del LED. En el caso de arduino operaremos con voltajes de 5 volts (y 3.3 volts en algunas placas). Podemos también usar voltajes más altos como 9 y 12 volts si estamos diseñando para un circuito distinto de Arduino.
  3. Restar el voltaje del LED del voltaje de alimentación para determinar el voltaje en el resistor. En el ejemplo que venimos manejando Vr = 5 – 1.8 = 3.2 V
  4. Determinar la corriente de polarización directa. De nuevo es algo que podemos visualizar en la hoja de datos del componente. Para nuestros LEDs típicos de 5 mm podemos trabajar con 20 mA de forma segura en la mayoría de los casos.
  5. Dividir el voltaje del resistor limitador entre la corriente en directo. Aplicamos la ley de Ohm para obtener el valor del resistor (3.2 V / 0.02 A = 160 ohms).

Todo el proceso anterior se resume en la siguiente ilustración:

Procedimiento para calcular valor de la resistencia de un led.

¿Por qué se usan resistencias de 220 y 330 ohms para LEDs?

De acuerdo a lo que vimos en la explicación anterior para usar un led con Arduino basta con usar una resistencia de 180 ohms (160 ohms, pero el valor comercial más cercano es 180 ohms). Sin embargo los valores típicos son de 220 o 330. Hay quien menciona que este margen se deja por seguridad (a mayor resistencia, menor corriente). Sin embargo podemos quedarnos con esta reflexión para adaptar el circuito a nuestro gusto:

  • Para mayor brillo posible utilizaremos resistencias de 180 ohms
  • Para brillo moderado podemos usar 220 ohms o 330 ohms
  • Si deseamos que el brillo de un led sea más tenue, podemos usar hasta 1Kohm.

¿Cómo conectar un led a tu Arduino?

El circuito que puedes usar para conectar un led a tu arduino se muestra en la siguiente imagen.

Con este circuito el LED se encenderá al escribir un estado alto en el pin correspondiente.

Conectar un led a tu Arduino para que encienda al escribir un estado alto en el pin correspondiente.

También podemos invertir la conexión, de forma que el led se encienda al enviar un estado bajo al pin. Esta conexión alternativa se muestra a continuación:

Conectar un led a tu Arduino para que encienda al escribir un estado bajo en el pin correspondiente.

Programación para controlar LED en Arduino

Para controlar con Arduino un LED, debemos dominar el tema de entradas y salidas digitales. El siguiente ejemplo es el que se incluye en el IDE de Arduino para controlar LEDs. Como tenemos otros tutoriales que profundizan en este tema dejaremos aquí solo el programa básico comentado.

Si deseas mayor información prueba a visitar nuestro tutorial sobre salidas digitales en Arduino.

void setup() {
  pinMode(13, OUTPUT);    // configura pin 13 como salida
}

void loop() {
  digitalWrite(13, HIGH); // pone en alto el pin 13
  delay(1000);            // espera 1 segundo
  digitalWrite(13, LOW);  // pone en bajo el pin 13
  delay(1000);            // espera 1 segundo
}

Experimento: Podemos cambiar el valor que se pasa a la función delay() para obtener distintos efectos.

Controlar el brillo de un LED por software

Como ya dijimos, podemos controlar el brillo de un led mediante el valor de la resistencia. Otra forma de hacerlo es mediante la programación.

El siguiente programa es una variación del programa que cargamos anteriormente, pero con los tiempos modificados para que el parpadeo del led sea imperceptible.

void setup() {
  pinMode(13, OUTPUT);    // configura pin 13 como salida
}

void loop() {
  digitalWrite(13, HIGH); // pone en alto el pin 13
  delay(3);               // espera 3 milisegundos
  digitalWrite(13, LOW);  // pone en bajo el pin 13
  delay(7);               // espera 7 milisegundos
}

Lo que sucede es que el LED parpadea tan rápido que el ojo humano es incapaz de percibirlo, sin embargo, lo que si se puede apreciar es una disminución del brillo del LED, por que en realidad no está encendido todo el tiempo. Si variamos la relación entre el tiempo que permanece encendido vs apagado podremos controlar el brillo del LED por software.

Esta técnica se conoce como modulación de ancho de pulso (Pulse Width Modulation o PWM) y la trataremos en otro tutorial.

Experimento: Prueba a variar la cantidad de tiempo que permanece encendido el LED y el tiempo que permanece apagado. Podrás notar como cambia su luminosidad.

Enlaces interesantes

shares