Objetivos
Material requerido.
Arduino UNO o equivalente. | |
Una Protoboard más cables. | |
Un diodo LED | |
Un potenciometro de 10k | |
Un transistor Darlington TIP 120 | |
una resistencia de 1K | |
Una tira de LEDs |
Los tiras de LEDs
Las tiras de LEDs o LED stripes son cada día más comunes, porque tienen muchas ventajas cuando se usan para iluminación de ambiente o escritorios.
Es de sobra conocido que las luces LED son mucho más eficientes energéticamente que las luces incandescendentes y que las halógenas y fluorescentes, pero ¿Qué significa esto?
Como habrás podido comprobar si alguna vez has intentado desenroscar una bombilla que lleva un ato encendida, la mayor parte de la energía que consume una lámpara incandescente, las bombillas de cristal de toda la vida, se dedica a producir calor más que a dar luz.
En una bombilla de filamento incandescente la relación entre la luz generada y la energía consumida, apenas llega al 8% y además tienen tendencia a quemarse pronto.
La cosa mejora ligeramente con halógenos y tubos fluorescentes paro siguen siendo un asco. Y el resto de tecnologías tradicionales de fabricación de bombillas mejoran más o menos el rendimiento a cambio de hacer crecer el precio exponencialmente.
En comparación, los LEDs que se usan para iluminación alcanzan rendimientos del 90%, lo que los hace ideales para el ahorro de energía y de factura de luz, no es de extrañar que se hayan extendido con rapidez y eso que aún están caras.
Una lámpara LED de 10W es equivalente a una bombilla incandescente de 80 o 90 Watios y además dura más, así que iros acostumbrando, porque están aquí para quedarse.
La mayoría de la iluminación comercial LED funciona a 12V mientras que nuestras instalaciones domesticas en Europa son de 220V y en América de 125V, así que vamos a necesitar un transformador para bajar la tensión de entrada a nuestras luces LED
Con el tiempo (y poco) las instalaciones domesticas incluirán una línea de 12V junto a las normales de 125 o 220V, para las luces LED o cargar los móviles y hasta nuestros Arduinos, pero de momento vamos a necesitar una fuente de 12V y mira qué casualidad, las fuentes ATX que vimos en la sesión anterior tienen salida de 12V.
Vamos a ver cómo usar estas fuentes para alimentar una o varias tiras de LEDs, que es algo que lo que cada día tendremos más necesidad.
Conectando una tira de LED
Todas las luces LED de iluminación domestica que he visto son de 12V. La que voy a utilizar usa 72 diodos LED Azules en fila (Seria largo explicar porque tengo una tira de diodos azules de metro), repartidos en una longitud de un metro y se consiguen por poco más del precio de una entrada de cine.
Leyendo sus características nos dice que se alimenta a 12V y es de 18 W, lo que considerando su rendimiento produce una luz intensa de color azul.
En cuanto hagáis los cálculos, (18 Watios / 12 Voltios = 1.5 Amperios) os daréis cuenta que hay que olvidarse de los reguladores 78xx ya que no van soportar la intensidad necesaria. Pero las fuentes ATX pequeñas pueden soportar tranquilamente 300W, así que podríamos alimentar unas cuantas tiras de estas a la vez.
Para alimentar la tira LED, usaremos una de las salidas de disco duro, a la que conectaremos un adaptador, del que retiraremos el conector que no necesitemos y lo sustituimos por un registro eléctrico, en el que atornillar los conectores de la tira.
- Esto evita cortar conectores de la fuente que siempre tiene un cierto peligro y nos impedirá reaprovecharla, y además nos habremos agenciado un conector muy útil para el futuro.
Si usamos el montaje de fuente ATX y Arduino que vimos en la última sesión y cargamos el mismo programa, montar esta tira usando uno de los conectores de disco duro, es pan comido.
Conectando los terminales de la tira de LED a 12V y GND, cuando enciendas la fuente, se iluminará la barra de LEDs.
Aquí os dejo un video con el resultado:
Esto ha sido tan asquerosamente fácil, que casi nos aburre y además nos sobra sitio en esta sesión, así que ¿Qué podemos hacer?
Pues naturalmente, complicar el circuito para hacer cualquier cosa inútil, pero divertida, que preferiblemente no sirva para nada. Vamos a tener que montar un dimmer es decir un circuito que nos permita regular la intensidad de la luz de nuestra tira LED.
Como la intensidad de luz en un LED es proporcional a la intensidad de corriente que le recorre, bastara con usar algo que nos permita controlar ese flujo. Y la solución por supuesto es nuestro amigo el transistor.
Pero… Un momento. Nuestro viejo conocido 2N2222 solo soporta hasta 0,5 amperios y aquí nos vamos a 1.5 amperios. ¿Hay algún transistor capaz de soportar esta intensidad?
La respuesta es, por supuesto, afirmativa. Podemos usar otro clásico de la electrónica, un Darlington TIP120 que es un transistor NPN de potencia, que soporta hasta 5 Amperios y una tensión de 60V. Es el transistor ideal para que nuestros Arduinos controlen pequeños motores, solenoides, tiras LEDs y similares con una mínima carga para nuestro micro controlador
La idea es utilizar uno de estos transistores para controlar la carga que pasa a la tira de LEDs y usar Arduino con un pin PWM que regule el paso mediante la señal que entrega en la base del transistor.
Es el mismo circuito que hemos usado con anterioridad pero simplemente cambiamos el modelo de transistor y la tensión de alimentación
Circuito de control
Vamos en primer lugar con el circuito correspondiente al transistor. Es el mismo que usamos en la sesión transistores, solo que allí usábamos un pequeño transistor conmutador y aquí vamos a usar uno de potencia media el TIP 120, cuya base gobernaremos mediante el pin digital 9 de Arduino.
Usaremos el mismo circuito de la sesión previa, con la fuente ATX y añadiremos un potenciómetro para leer un valor en el pin A0, que usaremos para modificar el valor de tensión que pondremos en la base del transistor para controlar el brillo de los LED.
El circuito general será poco más o menos así:
Repasemos la idea. El pulsador inicia y detiene la fuente ATX que se encarga de alimentar el circuito de 12V. Recordad que solo hay 12V cuando la fuente está encendida.
El transistor TIP 120, regula el flujo de corriente a su través de 12V y por la tira de LEDs en función de la tensión que pongamos en su base, desde Saturación (Pasa todo) con 5V en la base a corte (No pasa nada) cuando ponemos 0V en la base.
Para decidir que tensión le damos a la base lo leemos de un potenciómetro que hemos conectado al pin 9 de Arduino.
El programa de control
Para conseguir el variador de intensidad de la tira LED, usaremos de partida el programa anterior, ya que necesitamos usar la fuente ATX para alimentar los LEDs, pero añadiremos unas líneas que lean el potenciómetro en el pin A0 y envíen un valor acorde al pin 9 para gobernar el transistor.
El programa es algo así: Prog_83_2
bool PowerON = false ; void setup() { Serial.begin(9600); pinMode( 6, INPUT_PULLUP); // Para leel el boton pinMode( 7, OUTPUT); // Para encender la fuente con un LOW pinMode(13, OUTPUT); // Para usar un LED de encendido pinMode( 9, OUTPUT); // Pin PWM para regular la base del transistor digitalWrite(7, HIGH); // Fuente apagada delay(1000); // Pequeño retraso para asegurarnos de que la tension es estable Serial.println("Iniciando la fuente"); } void loop() { bool boton = digitalRead(6) ; if (boton == LOW) { PowerON = ! PowerON ; // Ivertimos el estatus de la fuente delay(250); // Para evitar rebotes digitalWrite(13, PowerON); // Encender o apagar el LED } if ( PowerON) digitalWrite(7, LOW); // Enciende la fuente else digitalWrite(7, HIGH); // Apaga la fuente int lectura = analogRead(A0); // Leemos A0 analogWrite (9, lectura / 4); // Ponemos la tension de control }
Apuesto a que esperabais algo difícil, pues ya veis. No supone ninguna dificultad.
Lo único que cambia con el programa de la sesión anterior son las dos últimas líneas y a estas alturas no creo que nadie tengáis dudas de su significado. Lo de los dimmers está ampliamente sobrevalorado.
Aquí os dejo un pequeño video con el resultado:
Resumen de la sesión