Ir al contenido principal

Encender un LED con Arduino

ENCENDER UN LED CON ARDUINO


arduiino-led
En esta entrada veremos como encender un LED mediante las salidas de Arduino. Para ello, veremos el principio de funcionamiento y el esquema eléctrico necesario.
Por supuesto, también podemos usar el contenido de esta entrada para encender un LED con cualquier otro autómata, o directamente conectándolo a tensión con una fuente de alimentación o batería. El esquema eléctrico es el mismo, sin más que sustituir la salida de Arduino por vuestra fuente de tensión.
En algunos libros o páginas web veréis que, a veces, conectan directamente el LED a una salida digital o analógica de Arduino. Aunque esto funciona (luego veremos porque) es una mala práctica. EN general, los LED deben conectarse siempre a través de una resistencia.
Para entender la importancia y el papel de esta resistencia, y poder calcular su valor, es necesario entender cómo funciona un LED.

¿QUÉ ES UN LED?

Un LED es un diodo emisor de luz, es decir, un tipo particular de diodo que emite luz al ser atravesado por una corriente eléctrica. Los diodos (emisor de luz, o no) son unos de los dispositivos electrónicos fundamentales.

Recodemos que diferenciamos entre dispositivos eléctricos y electrónicos. Los dispositivos eléctricos engloban resistencias, condensadores y bobinas, e integran el campo de electricidad. Los dispositivos electrónicos, surgen del uso de materiales semiconductores, y dan lugar al campo de la electrónica.
Un diodo es una unión de dos materiales semiconductores con dopados distintos. Sin entrar en detalles, esta diferencia de dopado hace que genere una barrera de potencial, que como primera consecuencia hace que el paso de corriente en uno de los sentidos no sea posible.
Aquí tenemos la primera característica de los diodos, tienen polaridad, es decir, solo dejan pasar la corriente en un sentido. Por tanto, tenemos que conectar correctamente la tensión al dispositivo.
La patilla larga debe ser conectada al voltaje positivo (ánodo), y la corta al voltaje negativo (cátodo).
arduino-led-patillaje

Regla menométcnica: 
– La patilla “más” larga es la positiva.
– La patilla “menos” larga es la negativa.
La otra consecuencia de la barrera de potencial es que, incluso conectando el dispositivo con la polaridad correcta, a baja tensión los electrones siguen sin poder atravesar el dispositivo. Esto ocurre hasta alcanzar un cierto valor de tensión que llamamos tensión de polarización directa (Vd), que depende del tipo de diodo.
A partir de esta tensión decimos que el diodo está polarizado y la corriente puede atravesarlo libremente con una resistencia casi nula. La tensión que realmente está alimentando al diodo es la diferencia entre la tensión aplicada, y la tensión de polarización directa del diodo.
Como vemos, en el momento que superamos la tensión de polarización, y dado que la resistencia del diodo es muy pequeña, se genera una gran corriente que destruirá el diodo. Por ese motivo, necesitamos una resistencia que limite la cantidad de corriente que circula por el diodo.
En resumen, si no ponemos una resistencia, el sistema solo tiene dos estados.
  • Si alimentamos a una tensión inferior a Vd, el LED no luce.
  • Si alimentamos a una tensión superior a Vd, el LED se rompe.
En cualquier caso, no conseguiremos hacer lucir el LED sin utilizar una resistencia de valor adecuado.

¿POR QUÉ FUNCIONA CONECTANDO A UNA SALIDA DE ARDUINO DIRECTAMENTE?

Como hemos adelantado esto, a veces veréis en tutoriales en Internet que algunos conectan un LED directamente a una salida de Arduino, sin usar una resistencia. Efectivamente, esto funciona y el LED luce sin romperse. ¿Cómo puede ser posible esto?
Esto funciona porque Arduino tiene una limitación de 20mA en sus salidas. Esta limitación hace que el LED no se funda, aunque realmente se está comportando como si fuera un corticircuito. Simplemente Arduino no puede dar más corriente.
No obstante es esto es una práctica totalmente desaconsejada por varios motivos. En primer lugar porque supone forzar de forma innecesaria la salida de Arduino, lo que puede acortar su vida a largo plazo. Por otro porque 20mA es, en general, una corriente demasiado elevada para un Led. Pero sobre todo, porque es una chapuza y una falta de higiene electrónica total.

¿QUÉ TIPOS DE LED USAREMOS EN ELECTRÓNICA?

Existe una gran gama de LED disponibles, desde los LED habituales de pequeña potencia, a los LED de gran potencia empleados en iluminación. Estos últimos requieren etapas adicionales de potencia (drivers) para poderlos encender desde un autómata.
Dentro de los LED de pequeña potencia, que son los que vamos a emplear con más frecuencia, los más habituales son los encapsulados tradicionales de LED de 3mm o 5mm.
arduino-led-3mm-5mmTambién podemos encontrar LED opacos (diffused) o LED transparentes (clear). Los LED opacos están pensados para “encenderse” ellos mismos (por ejemplo, para hacer un panel de mando). Por el contrario, los LED transparentes están pensados para iluminar una área, pero no al propio LED.
arduino-led-clear-diffused
Adicionalmente, encontraremos LED con diferentes ángulos. Los LED con un ángulo de iluminación más pequeño tienen un haz más cerrado, por lo que concentran la luz en un área estrecha. Por el contrario, los LED con ángulos más amplios concentran una cantidad de luz inferior hacia delante, y a cambio iluminan un área mayor.
Por último, veréis que algunos LED tienen el encapsulado de un color. Este color es simplemente para identificar el color de la luz emitida por el LED sin tener que encenderlo, pero no tiene ninguna influencia en el color de la luz emitida, que sólo depende de la construcción interna del LED (personalmente, yo los prefiero con el encapsulado sin colorear).
arduino-led-color

¿CUÁNTO CUESTA UN LED?

El coste de los LED es muy similar independientemente de su tipo y tamaño (exceptuando, lógicamente, los LED de alta potencia), aunque algunos colores pueden ser un poco más caros.
En general, son dispositivos realmente baratos. Podemos encontrar LED por 150 pesos (en Medellín se consiguen en el Centro Comercial La Cascada)
arduino-led-buy
Por último, comentar que tenemos también disponibles una gran cantidad de accesorios para LED, como soportes, soportes roscados, tapas decorativas de plástico, etc. ..y también son muy baratos, en torno a un céntimo de euro la unidad.
arduino-led-accesories

CALCULAR EL VALOR DE LA RESISTENCIA

Hemos dicho que lo principal para hacer funcionar un LED es calcular el valor de la resistencia necesaria. Para calcular el valor de tensión necesaria para alimentar un LED necesitamos conectar 3 parámetros
  • La tensión de alimentación (Vcc)
  • La tensión de polarización directa del LED (Vd)
  • La corriente nominal del LED (In)
Calcula el valor de la resistencia es sencillo. Como hemos dicho, la tensión que soporta el LED es la diferencia entre la tensión aplicada y la tensión de polarización directa del LED.
Aplicando la ley de Ohm, con el valor de la intensidad nominal del LED
V = V_{cc}-V_d = I_{nominal} * R

Por lo que lo que el valor de la resistencia resulta
R = \frac{V_{cc}-V_d}{I_{nominal}}

Dado que las resistencias comerciales tienen valores normalizados, no encontraréis una resistencia con el valor exacto que hayáis calculado. En este caso, elegiremos la resistencia normalizada inmediatamente superior al valor calculado, para garantizar que la corriente es inferior a la nominal.
La tensión de alimentación Vcc es conocida para nosotros. En caso de aplicar una fuente de alimentación o una batería, Vcc es la tensión nominal de la misma. En el caso de una salida digital o analógica de Arduino, Vcc dependerá del modelo que estemos usando (5V o 3.3V) pero también es conocido.

Recordar que aunque uséis una salida analógica PWM la tensión entregada a la carga es siempre Vcc. Consultar la entrada Salidas analógicas PWM en Arduino si tenéis dudas en esto.
Respecto a la tensión de polarización y la corriente nominal dependen de los materiales y constitución interna del diodo. En el caso de diodos LED convencionales de 3mm y 5mm, dependen principalmente del color y luminosidad
No obstante, en la mayoría de las ocasiones el propio vendedor facilita estos valores en el anuncio. En caso de duda deberemos acudir al Datasheet del LED para consultar los valores nominales.
En la siguiente tabla os adjuntamos unos valores generales de la tensión de polarización Vd típica para cada color. También os figura el valor de la resistencia necesaria, en Ohmios, para distintos valores de tensión de alimentación Vcc.
ColorVddResistencia (Ohmios)
3.3V5V9V12V
Infrarrojo1.4V150270510680
Rojo1.8V100220470680
Naranja2.1V100200470680
Amarillo2.2V100200470680
Verde3.2V10150330560
Azul3.5V100330560
Violeta3.6V100330560
Blanco3.8V100330560

CONEXIÓN ELÉCTRICA

La conexión eléctrica es realmente sencilla. Simplemente ponemos la resistencia previamente calculada en serie con el LED.
arduino-led-esquema-electrico
El montaje en una protoboard quedaría de la siguiente forma.
arduino-led-montaje

EJEMPLOS DE CÓDIGO

A continuación alguno de los códigos para probar a encender LED con nuestros Arduinos, y el montaje indicado. Los códigos son similares a los que hemos visto previamente en las distintas entradas del blog, pero empleando un LED externo en lugar del LED integrado en la placa. Para ello, solo tenemos que sustituir el número de PIN 13, correspondiente con el LED integrado, por el PIN de la salida a la que vamos a emplear.
Así, el primer código sirve para encender y apagar un LED
El siguiente código emplea las salidas digitales y la comunicación por puerto serie para hacer parpadear el LED el número de veces que enviemos por el puerto serie.
Por último, el siguiente código emplea una salida PWM para hacer variar la intensidad del LED




Comentarios

Entradas populares de este blog

Alarma visual (Led con ultrasonido)

Sistema de turnos con led de 7 segmentos y pulsadores

Teclado matricial 4x4 con LCD