# Controlador digital rgb (PWM) para leds



## eckkooso (Ago 23, 2008)

Necesitaria saber masomenos como puedo hacer un controlador digital para leds rgb, una pista para saber que me conviene usar, intenté con un generador de rampa pero no funcionaba bien ya que los leds de alta luminosidad no encienden linealmente en funcion de la tension asi que averiguando vi que lo mejor es dimmerizar con PWM, pero no se como controlar los tres colores para que vayan variando en la gama de colores. si alguien tiene alguna idea desde ya gracias!


----------



## culebrasx (Sep 19, 2008)

Yo estoy haciendo en este momento lo mismo(no esperes mucha ayuda tampoco, lo tengo un poco apartado pero he recopilado algo de información), una opcion seria con 555 y la salida en biestable controlando el ancho del puslo, perola descarté por poco flexible, la otra opción es mediante Microcontrolador que es por la que yo he optado, en google hay bastane información, pero te adjunto algo para ir abriendo boca...
suerte! 

P.D.edito: un PIC interesane que ya incluye 3 PWM internos es el 16F7X7, si no tambien se puede hacer por software la salida...


----------



## megatron (Sep 24, 2008)

Me siento con ganas de escribir un poco así que lee, que me ha salido una parrafada cojonuda.


Lo que dice culebrasx de emplear un micro parece lo más versatil y profesional además de apasionente. Una opción barata puede ser el incombustible pic16f84. No tiene PWM por lo que hay que generarla por software, pero es muy sencillo.

El espectro lo puedes generar con 3 LED uno conectado a cada puerto del micro, con su electrónica necesaria pues el micro no podrá alimentar 3 LED de alta luminosidad. Estos 3 LED forman el espacio de colores RGB (Red Green Blue). Cada uno de estos 3 colores puede tener un valor entre 0 y 255, de modo que si queremos mostrar el color rojo, se representará así: (255,0,0), es decir, máximo de rojo y nada de verde o azul. Siguiendo la regla llegamoa que el verde es (0,255,0) y el azul (0,0,255) el blanco sería (255,255,255) el verde intenso sería algo parecido a una mezcla entre azul y verde (0,255,255). Estos valores los puedes encontrar en cualquier programa de diseño gráfico tipo Photoshop.

Concretamente el PIC 16F84 tiene un timer que hace cuentas de 0 a 255 (o era al revés, no me acuerdo, pero la idea es aproximadamente la misma), de modo que ese timer te dará una especie de escalera 0  1  2  3... 254 255 0 1 2 

Imagina que quieres un color muy próximo al rojo (250,3,5) Solo necesitas un bucle que compruebe el valor del temporizador y el de las variables R G y B 
¿Es rojo mayor que el temporizador?
	Si la respuesta es si, entonces sigue encendido
	Si la respuesta es no, esntonces rojo se apaga
¿Es Verde mayor que el temporizador?
	Mismas conclusiones
Y lo mismo para azul

Haremos el ejemplo anterior (250,3,5)
	INICIO el temporizador vale 0 entonces los 3 LED están encendidos.
	El temporizador vale 1 los 3 LED están encendidos.
	El temporizador vale 2 los 3 LED están encendidos.
	El temporizador vale 3 el led verde se apaga, ya solo quedan encendidos los LEDs Rojo y azul
	El temporizador vale 4 siguen encendidos rojo y azul
	El temporizador vale 5 el LED azul se apaga, ya solo queda encendido el LED rojo.
	El temporizadot vale 6 el led rojo sigue encendido.
	..........

	El temporizadot vale 249 el led rojo sigue encendido.
	El temporizadot vale 250 el led rojo se apaga
	El temporizadot vale 251 no hay ningún LED encendido
	252 IDEM 253 IDEM .....255 IDEM y el contador / temporizador vuelve a la cuenta 0, así se encienden los 3 LEDs y volvemos a comenzar el ciclo


**NOTA: Date cuenta de que el espacio de colores es tridimensional y por ello, si quieres recorrerlo automáticamente una opción sería seguir esta secuencia de colores (0,0,0) (0,0,1) (0,0,2)...(0,0,255) (0,1,0) (0,1,1) (0,1,2)....VAMOS, un recorrido normal y corriente que tendría un total de 16.777.216 iteraciones si te parecen muchas puedes ir saltándote colores, de 10 en 10 ó de 50 en 50


NOTA2: Con 3 555 (uno para cada LED) puedes hacer también las  pwm, pero queda un poco más chapucero.


----------



## MrJavo (Mar 4, 2009)

Hola megatron, me parece genial tu aporte a este topico pero tengo una pregunta: 

Como conectas 1 led a un solo puerto? interconectas todas las patas del pic? (seguro es muy estupida mi pregunta pero no estoy seguro y prefiero preguntar)

Para un proyecto yo necesito detectar 3 colores q seran rojo verde y azul. Pero al parecer son unas tonalidades especificas de dichos colores, no exactamente rojo como (f,0,0) verde como (0,f,0) y azul como (0.0.f)... Detectare los colores con una fotoresistencia, algo asi como se puede ver en este video:

YouTube - Simple Color Detection Circuit

Entonces no estoy seguro si bastaria con darle 5V a cada uno de los 3 leds de alta intensidad o si tendria q ajustar precisamente el tono mediante modulos pwm para que la fotoresistencia responda correctamente, no quiero que confunda el azul oscuro con rojo o cosas de ese estilo...

Muchas gracias por su ayuda


----------



## megatron (Mar 5, 2009)

Vamos a ver, si quisieras detectar cualquier color podrías poner los tres led con PWM y probar todas las combinaciones, leyendo para cada una la luz reflejada con un fotodiodo.
Ahora bien, si solo son 3 colores, aunque no sean los colores puros yo pienso que te daría igual, la idea sería, yo lo ilumino con el rojo y leo la luz que refleja (pongamos que 2V), ilumino con verde y refleja una luz tal que yo leo con el A/D 1.5V y lo ilumino con azúl y refleja 1.6V, está claro que es verde el rojo, con su tonalidad que le hayas puesto, pero vrojo.

Lo de conectar los diodos de alta luminosidad, sí, uno a cada pata del micro (control) pero a través de una etapa de potencia, vamos, un trt. y el fotodiodo a una entrada del A/D

¿Solucionado?


----------



## MrJavo (Mar 5, 2009)

Perfecto megatron eso pense...

Voy a hacer mis pruebas y si tengo algun problemas volvere a postear. Gracias por todo


----------



## electronicaparana (Nov 8, 2009)

Hola megatron, queria saber si tenes el software de algun controlador para los rgb, ya que ando buscando que me pasen un programa hecho....recien estoy empezando con el tema de los rgb y me gustaria saber un poco mas y como controlarlos bien.
Desde ya muchas gracias.


----------



## diegoja (Dic 19, 2009)

Hola gente, estoy empezando con un proyecto de pwm con leds RGB y pic 16f84, ya he hecho unos programitas sencillos para variar la intensidad del led.
Mi consulta es, como usan el pwm con el timer del micro?? no logro entenderlo, si me lo pueden explicar mejor les estaria muy agradecido 
Un saludo. Diego.


----------



## FFe (Abr 2, 2010)

culebrasx dijo:


> Yo estoy haciendo en este momento lo mismo(no esperes mucha ayuda tampoco, lo tengo un poco apartado pero he recopilado algo de información), una opcion seria con 555 y la salida en biestable controlando el ancho del puslo, perola descarté por poco flexible, la otra opción es mediante Microcontrolador que es por la que yo he optado, en google hay bastane información, pero te adjunto algo para ir abriendo boca...
> suerte!



está muy bueno el PDF ese, muy bien explicado todo y sencillo. Muchas gracias!
Estoy con un proyecto similar a este y quería hacerte una pregunta. Estoy buscando una solución para regular el color del/los leds con potenciómetros o algo manual (no esas luces con secuencias de colores programadas o al azar). Pero necesito hacer la solución lo más económica posible y me parece que el PIC se va de presupuesto (además de que no dispongo de las herramientas necesarias). Quisiera saber cuales son las contras de la solución con el 555, ya que era una de las opciones que mas me convencía.
Alguien podría orientarme en que es más conveniente desde el punto de vista económico?

Muchas gracias!

adjunto un esquema de circuito que encontré (http://www.reuk.co.uk/LED-Dimmer-Circuit.htm) en el cual me basaría para el proyecto.
(los capacitores C1 y C2 no tienen unidades, quizás algunos de ustedes con más conocimiento pueda deducir que valores les coresponden)


----------



## shoker4 (Abr 6, 2010)

En esta PAGUINA hay un buen proyectocon PIC 12Fxxx con el PCB y el HEX. Aunque esta en inglés, esta bien documentado.

Saludos


----------



## FFe (Abr 7, 2010)

racias shoker, mañana con un poco más de tiempo lo voy a leer. Parece interesante el proyecto. De todas formas sigo intentando presupuestar la solución más económica.
Estoy en busca de los componentes del circuito que els mostré arriba, con el 555, pero me dijeron que tardaban 1 semana en traerlos, así que tendré que esperar.

gracias!


----------



## mario22 (Ago 3, 2011)

Hola, que tal, tengo una pequeña duda, es que yo configuro para algun color el led, pero no me sale como un tono "uniforme", se ve claramente cada uno de los 3 colores, aunque cada uno sale con una intensidad distinta. Por ejemplo si quiero poner un cian, no me sale solo un tono, no se si es que estos leds son malos o que esto es normal. Muchas gracias de antemano.

Saludos.


----------



## DJ DRACO (Sep 18, 2011)

Hola gente del foro, no quería abrir un enlace nuevo asi que sumo mi tema a éste:

*La idea es la siguiente:* quiero hacer un arreglo de led's RGB si es posible, sino de los comunes, en secuencia y a la vez controlando su brillo con PWM...

Pero lo más loco de esta idea es que quiero hacerlo con 2 NE555 y 1 CD4017

*Cómo?*
Bueno, es simple: 1 555 se encarga de generar un clock para el secuenciador que es el CD4017 y el otro 555 genera un PWM que se inyecta a los colectores de unos transistores que manejan los led's...

se terminó de entender?

voy intentar subir un circuito lo antes posible 

Saludos y espero sus ayudas!


----------



## LuigiDJ (Ene 3, 2012)

Hola, yo habia encontrado el que shoker4 anoto, y lo realice, y funciona muy bien. Le puse un led rgb de 3 watts, y la mezcla de colores es muy buena, aparte que tiene varias secuencias seleccionables con un pulsador. Es mas facil en este caso trabajar con el pic 12f629 o 12f675 (use ambos porque compre 3 leds), y use el programador que aparece en esta pagina : http://www.oshonsoft.com/picprog.html 
Coloque transistores 2n3904 para manejar 300 mA que necesita cada led y sus respectivas resistencias de 1W.
Mañana coloco imagenes de como quedo y de pronto un video para que se vea el cambio de colores.

Saludos


----------



## hervasc (Mar 24, 2012)

que tal si salio el circuito con los 555 porque yo tambien lo quiero implementar pero sin pics


----------



## keytao (Abr 28, 2012)

Hola ,no se si esta bien echo ,por que soy novato en electronica ....


----------



## idem258 (Ene 12, 2013)

LuigiDJ dijo:


> Hola, yo habia encontrado el que shoker4 anoto, y lo realice, y funciona muy bien. Le puse un led rgb de 3 watts, y la mezcla de colores es muy buena, aparte que tiene varias secuencias seleccionables con un pulsador. Es mas facil en este caso trabajar con el pic 12f629 o 12f675 (use ambos porque compre 3 leds), y use el programador que aparece en esta pagina : http://www.oshonsoft.com/picprog.html
> Coloque transistores 2n3904 para manejar 300 mA que necesita cada led y sus respectivas resistencias de 1W.
> Mañana coloco imagenes de como quedo y de pronto un video para que se vea el cambio de colores.
> 
> Saludos



Hola Luigi DJ, me gustaria saber cuantos voltios es que necesitan estos leds RGB... 3.3V?


----------



## LuigiDJ (Ene 14, 2013)

idem258 dijo:


> Hola Luigi DJ, me gustaria saber cuantos voltios es que necesitan estos leds RGB... 3.3V?



Hola, en la pagina donde los compre dicen estos datos tecnicos...
Rojo: 2.5V ~ 3.0V, 350mA
Verde: 3.2V ~ 3.8V, 350mA
Azul: 3.2V ~ 3.8V, 350mA

Los estoy alimentando con 12 voltios y resistencia de 1 watt por cada led, no me acuerdo del valor, pero se calculan para la corriente que quieras que pase. Le calcule con voltaje de 3.5 voltios al verde y azul y 2.8 al rojo, mas o menos cuadraron los voltajes en la practica.

Saludos


----------



## idem258 (Ene 14, 2013)

Muchas gracias, yo me encargo de hacer los cálculos
Buen día


----------



## aquileslor (Ene 14, 2013)

Para los que uieren usar el 555. Un circuito que anda y muy bien lo pueden encontar en SAN Google, poniendo: iluminador RGB con PWM.
Hay mucho material.


----------



## drj (Mar 21, 2013)

Buenas!

Yo tngo solucionado el tema del pwm uso PLC qe me genera esta señal. Quiero conectar esta salida a un circuito y este a una baterías de leds de 3w y 220v cada uno. Me cree un circuito conectando esta salida pwm a un optoaclopador y este a u triac pero el resultado no fue nada bueno. Las luces no cambian de brillo y se mantienen siempre con la misma luz.

Me podéis recomendar un circuito? Cuál sería la mejor opción?

Muchas gracias!


----------

