Seleccionar página

LED RGB Arduino: Usar LEDs RGB De Ánodo Común

por | Oct 10, 2015 | Tutoriales de Arduino

LED RGB Ánodo Común Arduino

La verdad es que llevaba mucho tiempo queriendo publicar este post, y es que en esta ocasión voy a hablarte sobre uno de mis componentes favoritos: El LED RGB. Más concretamente te voy a hablar del LED RGB de ánodo común (en mi opinión, el más difícil de utilizar si estás empezando con esto de la electrónica).

Hoy aprenderás no solo a conectar correctamente LEDs RGB de ánodo común si no también a extrapolarlo para poder conectar varios LEDs y que sus colores varíen conjuntamente, cómo conseguir que los tres colores iluminen por igual, etc. En fín, que va a ser un post muy completito (o eso espero smile ).

LED RGB De Ánodo Común.

Antes de que te pongas a hacer pruebas y tu casa parezca una discoteca un Sábado noche, empecemos por aclarar un poco qué es eso del ánodo y el cátodo y cómo es que uno es común y el otro no.

Ánodo Y Cátodo.

Todos los LEDs (y tu LED RGB no iba a ser menos) constan de ánodo y cátodo. Así es como denominamos a cada una de las patillas de los LEDs.

Como tampoco pretendo que esto sea una tesis sobre el comportamiento de los diodos LED, simplemente te diré que el ánodo es el “polo” positivo y el cátodo el negativo. Esto quiere decir que, en el caso de Arduino, el ánodo será la patilla que esté asociada a tu pin 5V y el cátodo irá a GND.

Lo que te acabo de contar es simplemente orientativo, ya que ni tienen que ir directos a esos pines (de hecho, lo normal es ponerle resistencias a los LEDs), ni es necesario que el cátodo vaya a GND, basta con que haya una caída de voltaje (que depende de cada LED) desde el ánodo hacia el cátodo para ponerlo en estado funcional.

Como probablemente estés pensando, el problema de los LEDs RGB es que no hay solo dos patillas. Aquí es cuando entra el concepto de ánodo o cátodo común. Puedes considerar un LED RGB como tres LEDs de colores rojo, verde y azul a los que les han unido (soldado) o bien los ánodos (ánodo, “polo positivo”, común) o bien los cátodos (cátodo, “polo negativo”, común).

En resumen, en un LED RGB de ánodo común como la parte que diferencia a los tres LEDs que componen el diodo son los cátodos, tendrás que “jugar” con los cátodos para conseguir colores y, en el caso de los LEDs de cátodo común, serán los ánodos lo que habrá que variar.

¿Por Qué LED RGB De Ánodo Común Y No De Cátodo Común?

Como cada proyecto presenta unos requisitos diferentes, dependerá de lo que vayas a hacer a la hora de elegir un tipo u otro de LED RGB.

En mi experiencia con Arduino me he dado cuenta de que suelen ser más habituales los LEDs RGB de ánodo común (tampoco mucho mucho más). Éste es uno de los principales motivos por los que vamos a profundizar más en ellos a lo largo de este post. Además, los LEDs RGB de ánodo común presentan la “ventaja” de que no necesitas jugar con la alimentación de los dispositivos, lo que varías son las tierras.

El problema, como te dije al principio de la entrada, es que modificar las “partes negativas” para que un LED brille resulta conceptualmente más complejo que modificar las positivas. Esto no quiere decir que sea más complejo realmente, simplemente, estamos más acostumbrados a lo contrario (es algo así como conducir un coche en Inglaterra, todo es igual, pero todo está al revés lol ).

Características Del LED RGB De Ánodo Común.

Como suele pasar con la electrónica, las características concretas de tu LED RGB dependerán de la fabricación, por eso voy a centrarme en el modelo que te dejo a continuación (aunque esta información es extrapolable a cualquier otro LED RGB y con repasar el Datasheet del tuyo, no deberías tener problemas). Además, es realmente barato:

Veamos sus principales características:

  1. Estos son LEDs RGB de 8mm de lente difusa (el hecho de que tengan la lente difusa no modifica sus propiedades, simplemente se aprecian los colores de forma más homogénea, no como un punto luminoso lo que, personalmente, me resulta más estético ya que le da un cierto toque chill out smile ).
  2. El voltaje de funcionamiento de cada uno de los colores es aproximadamente 2.1V para el color rojo y 3.3V para los colores verde y azul.
  3. Al alimentar cada uno de los colores, debes asegurarte de no suministrarle más de 20mA de corriente.
  4. La longitud de onda (que se asocia a la tonalidad de color) del color rojo es de unos 625nm. En el caso del color verde es 520nm y en el color azul son 465nm.
  5. La intensidad luminosa  oscila entre los 200-300mcd para el color rojo, 800-1000mcd para el color verde y 300-400mcd para el color azul (no te preocupes si no entiendes del todo este concepto, lo veremos más adelante).

Montaje Básico Del LED RGB De Ánodo Común.

Ahora que conoces un poco mejor las características de tu LED RGB, vamos a ver cómo se realizaría un montaje básico. No te preocupes si ves que los colores o las posiciones de los cables no coinciden, lo importante es que te quedes con la idea:

  • La patilla correspondiente al ánodo la podrás identificar fácilmente porque su tamaño es mayor que las demás. Esta patilla es la que debes conectar al pin 5V de tu placa. Aunque también puedes conectar esta patilla a una salida digital, debes tener cuidado ya que éstas te permiten gestionar hasta 20mA (lo que seguramente sea insuficiente para tu LED RGB).
  • El resto de patillas (por las que controlarás los colores de tu LED) debe ir asociada a salidas PWM mediante una resistencia (a priori, una de 220Ω por cada patilla debería ser suficiente). Debes tratar tu LED RGB como si fueran tres LEDs distintos, es decir, no basta con poner una única resistencia en el ánodo (patilla común conectada a 5V), lo suyo es que pongas una en cada cátodo.
Diagrama LED RGB Arduino Básico
  • Las salidas PWM (ancho de pulso modulado) que vienen representadas en tu Arduino con el símbolo “~”, proporcionan 5V (al igual que el resto de salidas digitales) con la diferencia de que oscilan su valor entre 0V y 5V al ritmo que tú le indiques mediante la instrucción analogWrite(), consiguiendo así simular valores de voltaje intermedios.
  • Cuanto mayor sea el valor de tus salidas PWM (cuanto más se aproxime a 5V), menor diferencia de voltaje habrá en tu LED RGB, menor será la corriente que lo atraviese y, por tanto, menos brillará (apagándose el color al que vaya asociada esa salida llegado cierto punto).
  • Debes tener en cuenta que la caída de voltaje que se produce en la patilla asociada al color rojo es menor, por lo que, si la resistencia es la misma en todas las patillas, circulará más corriente (recuerda aquí el límite de los 20mA). Ésto también quiere decir que el rojo brillará más (aunque como el ojo humano es menos sensible al rojo, esto es un factor positivo).
LED RGB Arduino Básico

Ya tienes aquí tu esquema.

Como te prometí, no iba a decirte como conectarlo sin más, quería darle algo valor añadido a este post así que ahora viene el código, posibles mejoras, conceptos de interés, etc. smile

Código Básico De Funcionamiento.

El código que vas a ver a continuación está pensado para representar colores aleatorios teniendo en cuenta no superar por los pines PWM el voltaje a partir del que los diodos LED dejan de conducir.

Con algunas pequeñas modificaciones, ya podrías adaptar este código al sistema que desees montar.

/* Control Básico De Un LED RGB De Ánodo Común */
/* www.educachip.com */

//Se definen las variables que se van a utilizar para establecer los
//colores. Éstas deben estar asociadas a pines digitales PWM e irán
//unidas a los cátodos de cada uno de los colores.
int Rojo = 9;
int Verde = 10;
int Azul = 11;

void setup(){

//Se establecen los pines definidos como salidas para poder
//la diferencia de voltaje con respecto a la alimentación común.
pinMode(Rojo, OUTPUT);
pinMode(Verde, OUTPUT);
pinMode(Azul, OUTPUT);

}

//Se crea un módulo auxiliar que facilitará la tarea de establecer
//los voltajes asociados a cada color.
//El valor de las variables R, G y B debe ser un entero entre 0 y 255
//siendo 255 el valor relativo a la máxima luminosidad de cada color.
//Debe tenerse en cuenta que hasta que no se supere el voltaje umbral
//de cada color este no se presentará en el LED RGB.
void EstablecerColor(int R, int G, int B){

//Se utiliza la expresión 255-X para “naturalizar los valores”. Dado
//que el mayor brillo está asociado a la mayor diferencia de voltaje
//entre la alimentación y las salidas PWM (lo que implica una salida
//de 0V por el pin PWM, esto es, analogWrite(X, 0);).
analogWrite(Rojo, 255-R);
analogWrite(Verde, 255-G);
analogWrite(Azul, 255-B);

}

void loop(){

//Se representan colores pseudoaleatorios en el LED RGB mediante el
//uso de la instrución random(min,max);.
EstablecerColor(random(127,255), random(127,255), random(127,255));

//Se utiliza un delay para que de tiempo algo observador a apreciar
//los colores.
delay(1000);

}

Conste que las modificaciones y mejoras de este código te las dejo a ti. ¡Ya me dirás qué se te ocurre! smile

Por mi parte, decirte que si creías que eso era todo lo que te iba a contar sobre LED RGB de ánodo común estabas equivocado, es más, he de decirte que el circuito que te acabo de enseñar a mí no me gusta y trato de evitarlo. Por eso, ahora te voy a mostrar otro circuito alternativo que, además, sentará las bases para que puedas conectar varios LEDs RGB representando sus colores de forma coordinada (esto es una forma un poco rara de decir que van a tener el mismo color… lol lo he dicho así porque siempre puedes permutar el azul de un LED por el verde de otro y combinar colores).

Montaje Alternativo Del LED RGB.

Uno de los problemas del circuito anterior es que, hasta que no reduces el voltaje de la salida PWM de cada LED hasta que la diferencia entre 5V y la tensión de esa salida supera la caída del LED, su color no empieza a iluminarse. Considerando que esta tensión es de unos 3.3V para, por ejemplo, el color azul, esto se traduce en que tendrás un rango útil de unos 1.7V (5V-3.3V).

Como ves, aunque se trata de un circuito funcional, no parece muy óptimo. Puedes utilizar funciones de “mapeo” en tu Arduino para modificar el rango de valores de la salida PWM haciendo que desde el valor 0 hasta el 255 tu salida se mueva en el rango de los 0V hasta los 1.7V (solucionando así el problema de cara al software), pero sigues perdiéndole provecho a tu LED RGB.

Además del problema anterior, debes tener en cuenta que la corriente que puede gestionar tu Arduino es limitada y con un montaje así ya le estás pidiendo unos 60mA a tu chip por cada LED RGB que conectes.

Para intentar paliar un poco ese problema te voy a mostrar un montaje utilizando transistores. Aunque es un poco más complejo y requiere de algunos componentes adicionales, optimiza el funcionamiento del LED RGB de ánodo común sin aumentar demasiado el coste del proyecto.

 

LED RGB Ánodo Común Arduino Con Transistores BJT

Con este montaje los colores de tu LED RGB deberían ser visibles para todo el rango de valores de tus salidas PWM (exceptuando el caso analogWrite(0); que se utilizaría para determinar que un color está apagado).

Además, los valores de corriente de todos los LEDs se mantienen en un rango adecuado (incluido el LED rojo), produciéndose un incremento lineal de la corriente con respecto al valor que escribas en tu salida PWM.

Otra de las ventajas de este circuito es que le exige menos recursos a tu Arduino, es decir, como lo que alimentas ahora desde el chip son bases de transistores (cuyo consumo es mínimo), estás “invirtiendo” menos corriente en alimentar tu LED RGB. Esto no quiere decir que los LEDs vayan a funcionar con menos corriente, quiere decir que ésta circula por otro sitio, concretamente de la alimentación (que soporta mayor carga de corriente que los pines digitales) a tierra.

 

Usar LED RGB Arduino Breadboard

En este dibujo puedes ver cómo se han utilizado resistencias en serie para conseguir los valores que venían reflejados en el esquema anterior. Los valores de todos los componentes son comerciales (los típicos que encontrarás en cualquier tienda).

Como son muchos los componentes que aparecen, el dibujo puede resultarte un poco complejo pero dedicándole un rato, no deberías tener problemas para montarlo. He intentado que quede lo más claro posible, así como no equivocarme al realizar el dibujo. En cualquier caso, recuerda que si tienes dudas, puedes preguntarme con toda la confianza. smile

Si te decides por este montaje debes tener varias cosas en cuenta:

  1. La intensidad de cada color dependerá ahora del valor de voltaje de la salida PWM de forma directa, es decir, no tendrás que hacer la inversión 255-X para representar un color (realizando este cambio en el sketch anterior de Arduino, puedes reutilizar el código).
  2. Este circuito (al igual que el anterior) está pensado para cumplir los parámetros a nivel eléctrico, no óptico. No se está considerando aquí lo que te dije antes de que el ojo ve mejor unos colores que otros, aunque la intensidad media que circulará por el LED rojo sí que será un poco mayor (de nuevo, como en el circuito anterior).
  3. Puedes añadir más LEDs conectando los ánodos a la alimentación y los cátodos de cada color en paralelo con el transistor (en cuyo caso deberás modificar los valores de las resistencias… para que se ajusten al nuevo circuito).
  4. Si vas a utilizar varios LEDs RGB, puede que te compense utilizar un integrado con un array de transistores (un chip en el que vengan varios transistores incluidos) para ahorrar espacio.
  5. Los parámetros de los que te he hablado se cumplen para los componentes que vienen reflejados en el esquema, si cambias el tipo de transistor, los LEDs RGB o los valores de las resistencias, deberás “reajustar” tu circuito. En cualquier caso, he intentado realizar el circuito utilizando los componentes más comunes en electrónica y te voy a dejar más abajo unos cuantos links por si necesitas alguno.

Antes de dar por terminado este circuito, hay algo que quiero enseñarte…

Como un circuito con transistores puede resultar complejo de entender si no tienes algo de experiencia con este tipo de dispositivos (en cuyo caso te recomiendo, además, que te pases por este post), te voy a dejar una gráfica para que veas lo que está pasando con los parámetros eléctricos de cada color (de cada uno de los tres LEDs que componen tu LED RGB) cuando aumentas el valor de las salidas PWM.

 

Gráfica de Corriente de LED RGB en Arduino

Esta gráfica se corresponde a una simulación sobre el color azul de un LED RGB con el montaje anterior. No te la tomes como algo exacto, ya que variará un poco en la práctica. Como puedes ver, para cualquier valor de voltaje de la salida PWM, se respeta el límite máximo de corriente que soporta el LED (20mA).

Lo importante de esta gráfica es que observes el crecimiento lineal de la corriente respecto al voltaje (al existir una relación lineal, te será relativamente simple conseguir el valor de luminosidad que desees) y la mejora en el comportamiento del LED RGB en comparación con el circuito anterior.

La linea naranja que puedes observar es una línea de tendencia, es decir, una linea que intenta parecerse a la línea real (de color azul) de comportamiento del LED RGB. Esta línea (la naranja) lleva asociada la fórmula matemática (que puedes ver en el gráfico) por si te interesa calcular qué valor de voltaje deberías poner para obtener una corriente concreta.

Otro dato importante es que puedes variar la resistencia del emisor (e incluso ponerla en el colector) para ajustar tanto la corriente que circula por tu LED RGB como la pendiente del gráfico que acabas de ver. A mí me gusta tal y como está, porque la pendiente es relativamente baja, consiguiendo así que se aproveche mejor el rango de voltajes de la salida PWM (si pones la resistencia en el colector, pasarás antes del mínimo al máximo amperaje). De cualquier forma, lo dejo a tu elección.

La verdad es que no sé si te estará pareciendo interesante esta información, pero me parece bastante útil para comprender lo que está pasando en el circuito; así no te dedicarás simplemente a conectar un LED RGB, comprenderás cómo funciona un circuito con LEDs RGB. smile

Algunos Conceptos De Colorimetría.

La colorimetría es, a parte de una palabra bonita smile , la ciencia que estudia los colores.

Si hasta ahora te he hablado del LEDs RGB a nivel eléctrico, ahora me gustaría introducirte algunos conceptos sobre cómo vas a percibir tú el comportamiento del LED RGB. He de decirte, eso sí, que no vamos a ver nada con profundidad, simplemente te voy a explicar algunos conceptos que pueden serte de utilidad para conseguir el efecto luminoso que desees.

Espacios de color RGB

Candelas.

Antes vimos una unidad asociada a los colores rojo, azul y verde del LED denominada milicandelas (mcd). Esta unidad se refiere a cómo de bien vas a ver cada color, con qué intensidad lo vas a ver, y su uso viene asociado a que el ojo humano no percibe igual de bien todos los colores.

Debes entender esta unidad como cómo de bien se va a traducir en luz la energía que le estás proporcionando a tu LED RGB. Como el azul y (sobre todo) el rojo, se aprecian peor que el verde (“tienen menos mcd”), si quieres apreciar todos los colores por igual, deberías siempre intentar compensar este factor.

Además de las Candelas, hay otras unidades como el Lux o el Lumen que se refieren a conceptos similares y que puede que encuentres en algunos dispositivos. No voy a entrar a explicar estos conceptos, simplemente te diré que, por norma general, cuanto más alto sea el valor, más luz.

Ajustar Los Colores.

Todos los colores que puedes representar con un LED RGB vienen de la mezcla aditiva del rojo, el verde y el azul, dando como resultado la mezcla exacta de los tres la luz blanca.

En Internet puedes encontrar mucha información si quieres profundizar en el tratamiento de la luz (una buena fuente de información al respecto son libros sobre televisión analógica). Yo me voy a limitar a dejarte una relación entre colores que puede serte de utilidad para ajustar el comportamiento de tu LED.

A la hora de representar la luz en el LED RGB, puedes multiplicar los valores de voltaje que vas a sacar por los pines PWM por 1 para la salida roja, 0.95 para la salida verde y 0.98 para la azul para intentar que el grado de luz sea más homogéneo.

Otra opción es partir de los valores de milicandelas que tiene cada color de tu LED y dividirlos todos entre el mayor de los valores (el relativo al color verde), es decir, normalizarlos. Una vez tengas el valor normalizado, lo divides por el valor que vayas a sacar por el pin PWM.

Te digo desde ya que son tantos los parámetros que influyen en todo esto que nada se va a acercar más a la perfección que el ensayo y error. Las pruebas empíricas serán las que mejores resultados te proporcionen, pero si quieres hacer pruebas, te dejo un código simple en Arduino para que lo adaptes a tu proyecto.

/*Control De Un LED RGB De Ánodo Común Con Transistores Y Compensación De Color.*/
/* www.educachip.com */

//Se definen las variables que se van a utilizar para establecer los
//colores. Éstas deben estar asociadas a pines digitales PWM e irán
//unidas a los cátodos de cada uno de los colores.
int Rojo = 9;
int Verde = 10;
int Azul = 11;

//Se almacenan los valores relativos a la intensidad de cada color
//(las candelas de cada color).
int mcdRojo = 300;
int mcdVerde = 1000;
int mcdAzul = 400;

//Se realiza una relación entre las candelas de los distintos
//colores.
int GradoRojo = (mcdRojo/mcdVerde);
int GradoVerde = (mcdVerde/mcdVerde);
int GradoAzul = (mcdAzul/mcdVerde);

void setup(){

//Se establecen los pines definidos como salidas para poder
//la diferencia de voltaje con respecto a la alimentación común.
pinMode(Rojo, OUTPUT);
pinMode(Verde, OUTPUT);
pinMode(Azul, OUTPUT);

}

//Se crea un módulo auxiliar que facilitará la tarea de establecer
//los voltajes asociados a cada color.
//El valor de las variables R, G y B debe ser un entero entre 0 y 255
//siendo 255 el valor relativo a la máxima luminosidad de cada color.
void EstablecerColor(int R, int G, int B){

//Se utiliza la expresión X/GradoX para multiplicar el valor de la
//salida PWM por un número que consiga una intensidad de luz
//equiparable entre todos los colores.
//Se debe tener en cuenta que la salida máxima es 255, por tanto,
//la compensación entre los colores se pierde si la relación
//X/GradoX genera un valor superior a 255.
analogWrite(Rojo, (R/GradoRojo));
analogWrite(Verde, (G/GradoVerde));
analogWrite(Azul, (B/GradoAzul));

}

void loop(){

//Se representan colores pseudoaleatorios en el LED RGB mediante el
//uso de la instrución random(min,max);.
EstablecerColor(random(0,255),random(0,255), random(0,255));

//Se utiliza un delay para que de tiempo algo observador a apreciar
//los colores.
delay(1000);

}

Conseguir El Color Deseado.

Una forma relativamente simple de conseguir un color concreto consisten en abrir la herramienta de Paint de tu ordenador y seleccionar el botón de colores personalizados. Haciendo click sobre el color que más te guste, te aparecerá una lista sobre las componentes RGB de ese color concreto. Útil, ¿¡Verdad!? smile

Dispositivos Utilizados En El Proyecto.

Como lo prometido es deuda te voy a dejar unos enlaces con los elementos que he utilizado a la hora de realizar este montaje de LED RGB de ánodo común.

De nuevo, me gustaría recordarte que si te decides a utilizar otros componentes, otros modelos, los parámetros variarán y deberás realizar algunos ajustes para que todo funcione correctamente.

Bueno… ¡Eso ha sido todo!

Creo que no me he dejado nada en el tintero explicándote cómo utilizar un LED RGB pero, en cualquier caso, recuerda que puedes preguntarme lo que quieras en los comentarios (o simplemente dejarme tu opinión) y estaré encantado de leerlo.

Me gustaría pedirte que, si te ha resultado interesante el post, lo compartas en tus redes sociales favoritas, le des me gusta en los botones sociales que tienes un poco más abajo y te suscribas al blog para estar al día de los nuevos contenidos.

Sin más me despido. Como siempre, un placer escribir para ti. smile

Actualmente me dedico, entre otras cosas, a crear contenidos sobre Arduino y otros dispositivos eléctricos. Me encanta todo lo relacionado con el “Universo Maker”.

Siempre estoy activo en los comentarios. Si tienes cualquier pregunta, no dudes en dejármela en los comentarios. Intentaré responderte lo antes posible… Un abrazo smile

Enrique Romero,

Autor del post.

¿No quieres perderte nada? ¡Suscríbete!

42 Comentarios

  1. Holas…
    Tengo una consulta Enrique
    Puedo utilizar las salidas analógicas del arduino en vez de los pwm, estoy armando un proyecto para la escuela y tengo todos los pines digitales ocupados (a excepción del 0 y 1)

    Gracias y muy buenas explicaciones (:
    Tengo 12 años y necesito ayuda

    Responder
    • Buenas Francisco,

      Claro, mientras los parámetros eléctricos vayan acorde a lo que quieres montar no hay problema.

      Un saludo, Enrique.

      Responder
  2. Hola, estoy aprendiendo mucho con tu página, enhorabuena.

    Tengo un par de led RGB en montura keyes que me han sobrado de un proyecto y quisiera usarlos sin arduino, a modo de linterna de colores. ¿Es posible conectarles una batería de 5V directamente? Lo he intentado con uno pero no se ilumina. ¿Alguna idea?

    Gracias.

    Responder
    • Buenas Carlos,

      Es raro que no funcionen así. O bien el voltaje no es suficiente o bien, al no utilizar ninguna resistencia, los has fundido. uneasy

      Dale un vistazo al datasheet de los LEDs para ver su caída de voltaje. Así te harás una idea de la resistencia que deberías utilizar.

      Un saludo, Enrique.

      Responder
      • Gracias, Enrique. ¿Pero no se supone que estos llevan resistencia incorporada? se trata del modelo KY-009.

      • Buenas Carlos,

        Pues no lo sé, en el datasheet te vendrá especificado. De todas formas, ten en cuenta que todos los LEDs tienen una resistencia asociada (resistencia interna). Lo que necesitas es una resistencia a parte (la resistencia interna es demasiado pequeña).

        Un saludo, Enrique.

  3. holaaa en el segundo circuito que has hecho le podría conectar tiras led y despues controlarlas mediante código ?

    Responder
    • Buenas,

      Está pensado para eso. Ten en cuenta la corriente que circule por tus LEDS y que siempre puedas superar la caída de tensión de los LEDs que pongas en serie.

      Un saludo, Enrique.

      Responder
  4. Amigo, que excelente aporte, ha sido de gran utilidad, mil gracias. Se nota el gusto que tienes por lo que haces. Felicitaciones.

    Responder
    • Gracias a ti por el mensaje de apoyo Jonathan. smile

      Un abrazo, Enrique.

      Responder
  5. Hola, enhorabuena por el articulo, muy bien explicado, tengo una duda ….como calculas los valores de las resitencias que van a la base del transistor o porque tienen exactamente esos valores?

    Saludos

    Responder
    • Buenas Perez,

      Puedes aplicar las fórmulas matemáticas de la misma forma que harías en cualquier otro circuito, pero lo que suelo hacer yo es simularlo utilizando software (en el banner de arriba a la derecha tienes uno gratis por si te interesa).

      Un saludo, Enrique.

      Responder
  6. Hola Enrique como estas, tengo un secuenciador para led echo con pic (8 canales) y quiero comandar por cada salida tiras de led, que transistor puedo utilizar para manejar 5 amp por canal ? Desde ya muchas gracias !

    Responder
    • Buenas Eduardo,

      No sé exactamente qué transistor te permitirá tener esa salida porque es bastante alta. Puedes buscar en webs como Mouser poniendo las especificaciones que necesitas y te dirá qué dispositivos las cumplen.

      Un saludo, Enrique.

      Responder
  7. Hola, felicitaciones por el post…..podrías aconsejarme para hacer un proyecto?…..veras, quiero hacer un proyecto con 200 leds RGB y arduino mega, podrías decirme aparte de las resistencias, que tipo de transistores poner, también se que tengo que ampliar los pines (tampoco se muy bien que poner para esto) podrías ayudarme por favor?
    gracias

    Responder
    • Buenas Gusito,

      Yo utilizaría transistores de alta potencia.

      Para lo de ampliar los pines te dejo un post.

      Un saludo, Enrique.

      Responder
  8. Hola, entiendo que con un led RGB de cátodo común realizamos la misma operativa sin tanta historia, corrígeme si me equivoco, salu2

    Responder
    • Buenas,

      Sí y no. Como ves, incluso con estos LEDs que son un poco más “raros” puedes hacer una conexión simple. Todo depende del grado de control que quieras tener sobre tus LEDs RGB. smile

      Un saludo, Enrique.

      Responder
  9. Hola.
    ¿Cuantos led RGB se pueden poner en cada pin?

    Un saludo.

    Responder
    • Buenas Jose Luis,

      Depende del circuito que quieras montar. Si tus pines simplemente activan la base de un transistor y la potencia viene de otra fuente, el límite te lo pondrá esa fuente.

      Un saludo, Enrique.

      Responder
      • Gracias por contestarme Enrique.
        Quisiera hacer algo con arduino. Estoy leyendo mucho sobre el tema. El asunto de la programación creo que lo tengo algo controlado.
        Si me aclarases algo ,con un esquema, donde colocar los transistores y como conecto la fuente creo que ya tendría una buena base para experimentar con el proyecto.
        La idea es poner series de 10 led. Los 1º de cada serie a un pin, los 2º de cada serie a otro pin, los 3º de cada serie a otro pin, así sucesivamente, para conseguir el efecto de que los led parezcan que están avanzando. No se si me explico bien… Mis conocimientos son muy pocos por no decir ninguno, jejeje

        Un saludo.

  10. Hola!
    Gracias por el post.
    Tengo dos dudas sobre cosas que dices:

    1 – “no basta con poner una única resistencia en el ánodo (patilla común conectada a 5V), lo suyo es que pongas una en cada cátodo.”
    Si tengo en cuenta dimensionar la potencia de la resistencia adecuadamente y ajusto el nivel de salida de rojo por programa para compensar las limitaciones del ojo humano, que problema habria en tener una sola resistencia en el anodo?

    2- “si pones la resistencia en el colector, pasarás antes del mínimo al máximo amperaje” No entiendo porque. Imagino que la diferencia se debe a la diferencia de intensidad en la resistencia por culpa de la intensidad de base. La intensidad de emisor= intensidad de colector+intensidad de base, asi que puesta antes del transistor pasamenos intensidad i puesta despues pasa mas. Pero no consigo aclarar como eso reduce el rango de regulacion del diodo Led

    Responder
    • Buenas Albert,

      Respecto a lo de las resistencias en el cátodo, es una “medida de seguridad”. Debes pensar en tu LED RGB como en tres LEDs individuales y tratarlos como tal. Si te estás asegurando mediante tu fuente de que la corriente que les llega es la adecuada, entonces podrías establecer otros circuitos.

      En cuando al transistor, se debe a su comportamiento eléctrico. No he querido profundizar demasiado aquí, pero si quieres puedes simular un circuito y probar con diferentes resistencias para comprobarlo (o estudiar un poco cómo funcionan estos transistores tongue ).

      Un saludo, Enrique.

      Responder
  11. Hola Enrique, en primer lugar decirte que post como este hace que los que no entendemos nada de electronica (de momento) no nos aburramos cuando empezamos nuestros pequeños proyectos.
    Tengo un arduino mega con el cual mando toda la iluminacion de mi belen (dia, noche, amanecer,encender la estrella etc.) me han regalado un arduino due y se me plantea el problema que las salidas son de 3v. en vez de 5v. entonces las tiras de leds se me iluminan al 50% por que a la base del transistor le llegan solo 3v en vez de 5v que es su punto de saturacion para que el paso de tension entre colector y emisor sea de 12v que es lo que necesita la tira de leds. (utilizo un transistor TIP120).
    Mi pregunta es: ¿que transistor tengo que poner para que con los 3v de salida de arduino me ilumine la tira de leds al 100%?.
    Espero que me hayas comprendido .
    Un saludo de Pedro Lopez

    Responder
    • Buenas Pedro,

      Esta pregunta ya es para nota ;). La verdad es que no me controlo los nombres de los transistores pero me suena haber utilizado para algo así un FQP30N06L (puede ser).

      Otra opción es que utilices la salida de 5V de la DUE y ésta a su vez la conmutes con transistores y los pines digitales (o algún circuito por el estilo).

      Un saludo, Enrique.

      Responder
      • Gracias Enrique, voy a comprar ese transistor y probar a ver que pasa, sino te volvere a dar la lata, por que no he entendido muy bien lo que me comentas de conmutar la salida de 5v con los transistores y los pines digitales.
        Muy agradecido por tu rapida respuesta a mi pregunta.
        Un saludo. Pedro Lopez.

  12. Hola, muchas gracias por el post, me ha resultado muy útil ya que solo encontraba artículos para cátodo común smile

    Responder
    • Buenas Ángelo,

      Perdona por haber tardado en contestar. Me alegro de que te haya sido útil :).

      Un abrazo.

      Responder
  13. Hola, me ha surgido una super duda y queria consultarla aquí pues eres un experto:
    ¿conoces la placa Makey Makey? Es como un teclado que al juntar GND y una entrada disponible (una flecha o letra, tiene pocas entradas) envía este valor a la pc como se si hubiera presionado la tecla en un teclado normal, con esta aparatito se pueden hacer juegos didacticos y muchas cosas.
    Ahora que estoy entrando al mundo Arduino (microncontroladores) he visto que el Arduino Leonardo maneja USB y se puede usar para usarlo como un teclado (hasta aquí hace el 50% de lo que el Makey Makey); aquí viene mi duda: yo podría incluir pequeños botones identificados por un pin que al ser presionados envíen una tecla a la pc, pero ¿cómo hago que un tecla se envíe con el simple hecho de juntar un pin y GND? si pongo un cable en un pin PWM y lo pongo a GND y configuro ese ping en el arduino, puedo saber cuándo dicho ping está conectado a tierra (conectado) o no? Así entonces podría evitar usar botones y tendría fabricada una placa Makey Makey muy barata; la placa Makey Makey está 70 dólares, si lo que te digo funciona (teniendo en cuenta que puedo comprar una placa copia de Leonardo) rondaría los 20 dólares exagerando.

    Muchas gracias.

    Responder
    • Buenas Jesús,

      Puedes implementar ese proyecto con Arduino sin ningún tipo de problema. El mecanismo de encendido al que te refieres se conoce como PULL UP (utilizar las resistencias de PULL UP de la placa).

      Un saludo, Enrique.

      Responder
  14. Grande brother, en serio bien explicado y muy util tu explicacion, sigue asi, gracias

    Responder
    • Me alegro de que te haya gustado Jonathan. smile

      Responder
  15. PD: No falta toma a tierra, de algun modo?

    Responder
    • Buenas de nuevo,

      En el primer montaje son las patillas PWM las que actúan como sumidero de corriente y no hay tierras. Si te refieres al segundo montaje, puede ser que se me haya escapado algo, pero diría que no.

      Un saludo.

      Responder
      • Me referia al primero. Para el segundo me falta otra protoboard… Pero el lunes la compro.
        Mejor mas y medianas o menos y grandes?

      • Buenas,

        Es cuestión de gustos, pero veo más práctico más y más pequeñas (porque al final te quedas sin espacio donde pinchar y acabas poniendo cosas en paralelo que no son).

        Un saludo, Enrique.

  16. Hola Enrique,
    Felicidades por tu blog!
    Hace poco que me he comprado un Starter Kit, y voy por los capítulos 3 y 4 que tocan el tema led…
    …pero hoy voy y veo este post, y no me he podido resistir.
    He realizado el circuito y subido tu código, y no funciona. Me podrias ayudar?

    Responder
    • Buenas César,

      A ver si podemos arreglarlo. Antes que nada ¿tu LED RGB es de ánodo común o de cátodo común?

      Un saludo, Enrique.

      Responder
      • Uops! Jejeje… Buena pregunta. Es el que venia con el Starter Kit. Miraré de averiguarlo.
        Me gustará mucho probar los dos proyectos (y otros).
        Como delineante industrial que he sido muchos años, trabajé, la mayoría de estos, como responsable técnico en una empresa fabricante de luminarias, y me quedé a las puertas de Led y la electrónica en general…
        Ahora, junto con “robots” y/o Rc, el tema de la iluminación/Leds/domótica con Arduino es uno de los que mas me atrae.

      • Pues seguro que con un pelín de práctica no te va a costar nada, César. smile

        De cualquier forma si tienes dudas, pregunta lo que quieras e intentaré responderte.

        Un saludo, Enrique.

      • Hola Enrique,
        Puedo decirte ya que el Led que he utilizado es de cátodo común.
        Para mirarlo he comprovado con un tester la continuidad y luego he leído el manual y he visto que en un proyecto conectan “la patilla larga” de este a tierra.
        Entiendo que con invertir la polaridad en la protoboard no es suficiente, verdad?

      • Buenas de nuevo César,

        Piensa siempre en que haya una diferencia de voltaje desde la patilla positiva a la negativa para orientarte a la hora de hacer el circuito y no deberías tener problema.

        Un saludo, Enrique.

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

LED RGB Arduino: Usar LEDs RGB De Ánodo Común was last modified: Diciembre 14th, 2016 by Enrique

¿Me ayudas?

Hey! Espero que te esté gustando el artículo. ¿Me ayudarías compartiéndolo con tus amigos? Un pequeño paso para ti, un gran paso para EducaChip. :) ¡Gracias!