viernes, 6 de noviembre de 2015

[Arduino 13] Controlar LED Strip (tira LED) con potenciómetro

En el tutorial de esta semana aprenderemos a controlar una tira led mediante el uso de Arduino y un potenciómetro. El ahorro energético y la eficiencia energética son hoy en día temas de suma relevancia en el mundo para lograr disminuir la huella de carbono y también para ahorrar dinero en la cuenta de la luz, para ello enseñare a controlar una de estas tiras led que luego pueden instalar en una escalera por ejemplo y agregar un sensor PIR para el encendido, pero lo dejare para mas adelante.

La idea de este tutorial es practicar el uso de entradas analógicas, en este caso ingresaremos una señal de referencia que ingresará a Arduino desde el potenciómetro, de acuerdo a esta entrada controlaremos la cantidad de luz que se desea, tal como se hace con los dimmer.

Objetivos
  1. Practicar escalamiento de entradas analógicas a salidas digitales PWM
  2. Practicar el uso del comando map para escalar variables analógicas
  3. Controlar una tira led
  4. Conocer las tiras led y conocer las potencialidades de estas en la iluminación del hogar.
Materiales
  • Arduino (Cualquier modelo, en mi caso usare Arduino Picaro)
  • Cable usb para arduino
  • Conectores
  • Protoboard
  • Transformador 12V 1A
  • Potenciómetro
  • Resistencia 1k ohm
  • Transistor TIP31
  • Tira LED (LED Strip) 12V
Tira LED (LED Stip)
Una tira LED es un circuito flexible que contiene LED tipo SMD, estas tiras usualmente vienen con un auto adhesivo en la parte trasera para poder pegarla en algún lado. Las tiras LED han sido usadas tradicionalmente como luces decorativas o para resaltar algún objeto en exposiciones, actualmente ha incrementado su utilización en eficiencia energética por su bajo consumo y muy larga durabilidad.

Las aplicaciones de estas fuentes de luz son múltiples y depende de si son resistentes al agua, cantidad de luz, color, entre otro, hay que tener claro que existe una gama amplia para poder escoger de acuerdo a nuestras necesidades.


Hay que tener en cuenta que para cortar estas tiras basta con cortar en la linea donde tienen el símbolo de una tijera y luego soldamos un cable en la parte trasera sacando la cinta adhesiva que trae.


A continuación se presentan enlaces de referencia para quienes deseen saber como escoger una tira led de acuerdo a sus necesidades y también saber un poco mas acerca de su instalación.


Tiras Led 220V. Diferencia entre SMD3528, SMD3014 y SMD5050

Tiras Led 12/24V. Diferencias entre SMD3528, SMD3014 y SMD5050
Guia de instalación para tiras LED monocolor y RGB



Dónde conseguir tiras led

Yo compré una tira led en Valdivia (Chile) y ha costado al rededor de 18.000 pesos chilenos (26 dolares aproximadamente). A continuación les doy algunas alternativas donde pueden realizar su compra en caso de querer instalar iluminación por tiras LED en su casa.


MCI Olimex (Chile)
Alternativa 1
Alternativa 2

Aliexpress (China)
Alternativa 1
Alternativa 2

Esquemático del circuito

El circuito es bastante simple (click en la imagen para ver mas grande) primero deben conectar el transistor TIP 31 como se ve en la primera imagen la base esta conectada a la resistencia de 1k ohm y a su vez esta resistencia recibe la señal entregada del arduino. El colector es conectado a tierra (GND), mientras que el emisor (emiter) es donde conectaremos el terminal negativo de nuestra tira led. El terminal positivo de la tira led va conectado directamente a los 12 Volt que nos entrega el transformador. Finalmente las tierras de arduino como la tierra del transformador deben estar conectadas.

Código del circuito (Skecth)
Se presentaran dos códigos, ya que para controlar el potenciómetro podemos utilizar dos formas diferentes, una es por medio del comando

Código 1 (sin escalado automático)
En este sketch primero se mide la entrada analógica que puede ser de un sensor, o cualquier dispositivo que queramos usar como entrada analógica, en este caso es un potenciómetro que utilizaremos para controlar la tira led. La variable analógica que ingresamos al pin 2 tiene valores entre 0 y 1023, estos son escalados y traducidos a valores entre 0 y 255 que son lo valores para salidas digitales PWM (modulación por ancho de pulso). Estos valores de 0 a 255 son los que dará el valor luminoso a la tira led, siendo el valor 0 cuando este apagada la tira led y 255 cuando la tira led este encendida su máxima potencia.


int valorPot=0;
float tensionPot=0;
float luz=0;

void setup(){
        Serial.begin(9600);
        pinMode(9,OUTPUT);
}

void loop(){
        valorPot=analogRead(2);
        Pantalla();
        luz=valorPot*(255.0/1023.0);
        analogWrite(9,luz);      
        delay(100);
}

void Pantalla(){
      Serial.print("valor analogico: ");
      Serial.print(valorPot);
      Serial.print(" valor tension: ");
      tensionPot=valorPot*(5.0/1023.0);
      Serial.println(tensionPot);
      return;
      }


Código 2 (con escalado automático (map))
Para este segundo sketch aplica la misma explicación anterior, solo que para realizar lo mismo se utiliza el escalamiento desde 0-1023 a 0-255 por medio del comando map realiza el mismo calculo de manera automática. Recordar que el comando map solo trabaja con valores enteros.

int valorPot=0;
float luz=0;
float tensionPot=0;

void setup(){
    Serial.begin(9600);
    pinMode(9,OUTPUT);
}

void loop(){
    valorPot=analogRead(2);
    Pantalla();
    luz=map(valorPot,0,1023,0,255);
    analogWrite(9,luz);
    delay(100);
}

void Pantalla(){
      Serial.print("valor analogico: ");
      Serial.print(valorPot);
      Serial.print(" valor tension: ");
      tensionPot=valorPot*(5.0/1023.0);
      Serial.println(tensionPot);
      return;
      }


Resultados

Resultados del Sketch
El resultado que deberíamos apreciar en el monitor serial (CTRL+M) al usar cualquiera de los dos códigos es el siguiente (click en la imagen para ver mas grande). Por lo tanto podremos ver el valor que ingresamos de manera analógica a arduino y es transformado a una variable digital que tiene valores entre 0 y 1023, este valor luego lo traducimos a un valor en voltaje por medio de los cálculos realizados en el código

Resultados en la tira LED
Al conectar la tira led al circuito lo que podremos apreciar sera un aumento y disminución en la luminosidad de acuerdo a la entrada ingresada por el potenciómetro, esta entrada se traduce por medio de arduino y el código en una salida PWM que es lo que veremos a continuación.
En este primer par de imágenes se puede ver que esta apagada la tira led y que la salida PWM del circuito es una linea continua en 0V, con ciclo de trabajo igual a cero
En esta segundo par de imágenes se puede apreciar un cambio donde aparece un tren de pulsos con ancho muy delgado comparado con los pulsos que se verán en las siguientes imágenes. el ciclo de trabajo comienza a incrementar y con ello la cantidad de luz en la tira led.
En este par de fotos se puede apreciar de mejor manera los pulsos con un ancho un poco mayor y con un ciclo de trabajo de un 20% aproximadamente.
En este otro par de fotos se aprecia mayor potencia en los LEDs y un ciclo de trabajo mucho mayor casi un 80%
En este ultimo par de fotos se puede ver que la tira led esta en su máxima potencia de iluminación y el ciclo de trabajo es 100%, de acuerdo lo anterior en el osciloscopio se puede ver que la señal una constante de 5V aproximadamente.

Potencia de la tira LED
En mi caso la tira led es de 5 metros con led smd 5050 y 60 led por metro. En esta proyecto corte 1 metro de tira led para trabajar y de acuerdo a esto se realizaron las siguientes mediciones.
  • Voltaje= 12 Volts
  • Corriente máxima= 250 mA
La potencia es de 12V*0,125A=3W. Lo cual es un consumo bastante bajo para 1 metro de tira led. Debo aclarar que también probé conectar los 5 metros de tira led cortados en 5 tiras de 1 metro (esto para aumentar la luminosidad, ya que mientras es una única tira de 5 metros ilumina menos que si esta dividida en tramas) y que el consumo es prácticamente el mismo en caso de conectar las 5 tiras o conectar solo una tira
Fotos del proyecto
A continuación se presentan una fotos para que se pueda ver mejor las conexiones y ademas poder ver detalles de la tira led como por ejemplo los puntos donde se puede cortar la tira led. Cada 3 LED SMD 5050 la tira tiene un símbolo de una tijera, esto indica que se puede cortar y basta con alimentar la tira en alguno de esos puntos con 12v y funcionará a la perfección.









No olvides visitar la pestaña Tutoriales arduino y también Lenguaje arduino, donde podrás encontrar la lista de tutoriales que he hecho hasta el momento. Como siempre muchas gracias por visitar mi blog y si tienen alguna consulta o consejo puede comentarlo por medio de este mismo blog.

3 comentarios:

  1. Me gusta tu blog, sigue así, ya llevo como 10 páginas, me quedé en donde explicas como comprar en varios lugares, suerte.

    ResponderBorrar
  2. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  3. hola, sera posible con este mismo esquema controlar varias tiras led de manera independiente? con distintos potenciometros? gracias por tu trabajo!

    ResponderBorrar