bclose

Circuito con un bar LED

Arduino y los LEDBAR

Objetivos

 

 

    • Presentar las barras de LEDs.
    • Mostrar un circuito de muestra.
    • Son una solución elegante para hacer un display en porcentaje.

 

Material requerido.

Imagen de Arduino UNO Arduino UNO o equivalente.
Protoboard conexiones Una Protoboard  más cables.
componente 8 resistencias de 330Ω.
Chip con 10 leds integrados Un chip FJB10R con 10 LEDs alineados.
tienda online prometec

Los LED bar o barras de LEDs.

 

Con mucha frecuencia, vamos a querer indicar el nivel relativo de algo. Bien sea sobre el valor de un potenciómetro, de un sensor de luz,  de un sensor de temperatura, o de cualquier otra variable.

No es raro en este tipo de tutoriales encontrar razones para un indicador así, y con mucha frecuencia se hace con, digamos 8 LEDS, y se representa el porcentaje de algo con respecto a su valor máximo.

El sistema funciona, pero es poco práctico y aún menos eficaz como indicador, por eso vamos a presentaros un integrado muy simpático: FJB10R. Los LEDs encapsulados en un único chip, listo para hacer esas cosas. Seguro que los habéis visto en más de un equipo por ahí, y son muy agradables de ver como bailan siguiendo las señales de audio.

Chip con 10 leds integrados

Son pequeños, baratos y muy eficaces a la hora de mostrar este tipo de señales en porcentaje que mencionábamos, y además están diseñados para `poderse cascadear, si con 10 LEDs, no os parece suficiente  y además están disponibles en varios colores.

La conexión es de lo más sencilla, porque al final son simplemente 10 LEDs encapsulados en barritas paralelas, pero se manejan exactamente igual que un LED normal.

A partir de ahora, conviene que, por costumbre, busquéis en internet, la referencia de los componentes que vayáis usando, Así que buscad la referencia  FJB10R  en Google, para encontrar la hoja de normas del fabricante.

Nos interesa sobre todo, la descripción de los pines del chip (Que en este caso es el obvio, pero no os fieis)

 
  • Hacer suposiciones sobre como es el patillaje (Pinout) de un chip, es hacer oposiciones a otro viaje a la tienda de electrónica, a buscar un reemplazo, para el precioso chip que acabamos de hacer a la brasa.
  • No supongáis. Comprobad. Y la única forma sensata, es buscar las especificaciones. Acostumbraros a hacer búsquedas de las referencias en Google.
 

Veamos el esquema del fabricante

Pinout del FJB10R

Como esperábamos, el fabricante ha colocado los ánodos (Positivo) de los diodos en una cara y los cátodos (Negativo) en la otra…

La conexión de estos chips es trivial, pues basta con poner una resistencia de limitación de 330Ω a cada LED y conectar los positivos a 10 puertas de nuestro Arduino.

 
  • Si me habéis seguido hasta aquí, ya sabéis que soy alérgico a usar 10 resistencias con 10 LEDs, (demasiado vago) pero en este caso, no nos queda más remedio, porque solo podemos colocar el chip en el carril central de la protoboard y eso hace que tengamos que elegir entre colocar 10 resistencias o 1 resistencia y 10 cables.(Naturalmente, he optado por la de menos componentes, como podíais esperar).
 

La única dificultad que veo, es que en mi chip no encuentro ninguna marca indicando el pin número 1, por lo que hay que probar a ver cuál es. Para ello conectad el positivo y negativo de un único LED y comprobar que se ilumina, antes de conectar el resto.

 

Diagrama del circuito.

 

Aquí tenemos el esquema de protoboard:

Protoboard

El chip encapsula los 10 LEDs y hay que conectarlos en paralelo con su resistencia y los conectamos a los pines de Arduino del 3 al 12.

 

El Programa de control.

 

Hemos escrito un programa básico, para mostrar la función Ed estos displays. Simplemente, leemos el potenciómetro y mapeamos la lectura a un valor entre 3, el primer pin y 14, porque queremos que el 13 sea el último.

El programa ilumina los LEDs por debajo del valor leído y apaga el resto.

void setup()
   {
       for (int i= 3; i<14 ; i++)
            pinMode(i, OUTPUT);
   }

void loop()
   {
       int v = analogRead(A5);
       int k = map ( v, 0, 1000, 3 , 13);
       for ( int j=3 ; j < 14 ; j++)
          {
             if (j <= k)
                 digitalWrite(j, HIGH);
             else
                 digitalWrite(j, LOW);
          }
   }

Aquí tenéis un video con el resultado

Resumen de la sesión

 

 

    • Hemos presentado las led bars, un componente simpático y muy útil en cualquier proyecto que requiera mostrar un porcentaje.
    • Lo utilizaremos en más sesiones en el futuro.
    • Son 10 LEDs encapsulados en una bloque, cómodo, pero LEDs normales.
 

 

 

(1) Comment

    • Babi Olave

    Hola! Gracias por el tutorial!!

Give a Reply

WordPress Anti-Spam by WP-SpamShield