[Aporte] Mezclador de luz RGB

#1
Este controlador es sencillo, económico y divertido realizar, se trata de un mezclador de colores primarios RGB (Red, Green, Blue) para obtener distintas tonalidades resultantes de la mezcla; entre las aplicaciones que se puede dar a este circuito tenemos; llamador de atención en una tienda de barrio, bañador de luz para la pared para tu cuarto, lámpara decorativa para un bar o discoteca, iluminaria para cuartos de baño, piscinas, piletas, catedrales, autos, plantas,.. etc.

trabaja con el PIC16F628A en dos modos; Fijo y Aleatorio, fijo: cuando el usuario hace uso de los pulsantes de mando para obtener el color deseado, Aleatorio: cuando cierra los interruptores para que el espectro de luz cambie aleatoriamente entre una gama de 255 colores distintos

incluyo todo lo necesario; instrucciones, código fuente y diseño de pcb
 

Adjuntos

Última edición:
#2
Está muy bueno, quisiera saber si se puede hacer con otro PIC, ya que no tengo el 628... :rolleyes:
 
#4
puede utilizar un cualquier PIC, para reemplazar al 16F628A. no necesita que tenga modulo PWM, ya que la generacion de las ondas se hace por software, utilizando la libreria PWM.h que he creado.
Es necesario interrupcion por timer0 (casi todo PIC tiene, incluso los de 8 pines)

gracias Fogonazo, me alegro que te haya gustado
 
Última edición:
#5
excelente amigo gracias por el aporte ahora mismo quiero ver la simulación y bueno solo veré eso mientras busque los leds RGB que en mi pais no puedo encontrar a la venta :( bueno si alguien me diera referencias para comprarlo en algun lugar de mi pais le estaré agradecido y soy de bolivia ^_^ jejeje

Nuevamente muchas gracias, y fogonazo una pregunta hay algun articulo en el foro donde pueda aprender a programar? gracias a los usuarios que comparten sus experimentos y experienciaaaas ^_^
 
#6
No es necesario leds RGB, el led RGB no es mas que tres leds rojo, verde y azul en una sola capsula,... el mismo resultado obtienes si compras tres leds individuales de alto brillo y te haces una capsula con silicona
 
#8
la simulacion no me Habre!!!....:( alguien pudo abrirla cOn proteus???
tienes que cargar el archivo RGB_LED.cof en el microcontrolador virtual... si aun asi no funciona, tienes que volver a compilar, todo el codigo esta en la pagina 7. pero recuerda tambien debes incluir la libreria PWM.h en la misma carpeta donde ensambles tu proyecto. el codigo de la libreria PWM.h esta en la pagina 5.

programe en PIC CCS v4.114 y simule en Proteus 7.7 SP2... saludos
 
Última edición:
#9
Hola a todos
yo hice uno muy parecido dejame abrirlo para ver la degradacion y voy a ver cuando lo puedo construir para detallarlo, ya que el gran problema de estos circuitos es que parpadean los colores al aumentar y disminuir el color

voy a verlo hasta pronto
 
#10
Hola a todos
yo hice uno muy parecido dejame abrirlo para ver la degradacion y voy a ver cuando lo puedo construir para detallarlo, ya que el gran problema de estos circuitos es que parpadean los colores al aumentar y disminuir el color

voy a verlo hasta pronto
Para evitar el parpadeo debes aumentar la frecuencia de la onda PWM; el que aqui expongo no tiene ese problema,... no te olvides estaremos esperando tu aporte.. jeje
 
#11
tienes que cargar el archivo RGB_LED.cof en el microcontrolador virtual... si aun asi no funciona, tienes que volver a compilar, todo el codigo esta en la pagina 7. pero recuerda tambien debes incluir la libreria PWM.h en la misma carpeta donde ensambles tu proyecto. el codigo de la libreria PWM.h esta en la pagina 5.

programe en PIC CCS v4.114 y simule en Proteus 7.7 SP2... saludos
Muchas gracias dino...
 
#17
Que tal dino, una duda enorme, no he podido conseguir el pic 16f628a, ¿se podra remplazar con un 16f84a (tambien de 18 pines) sin ningun problema ni necesidad de modificaciones?
 
#18
no creo que tengas ningun problema 4leks... ya que los dos tienen TIMER0, ademas la configuracion de pines del 16F628 es la misma del 16F84A... en realidad no lo he probado pero casi te puedo asegurar que funciona con este PIC!!!

eso si no te olvides de volver a compilar el programa especificando el microcontrolador 16F84A y comprueba con la simulacion para descartar cualquier duda

¡suerte!
 
Última edición:
#19
hola Dinoelectro.

yo tambien quiero hacer el mezclador pero la verdad me es un poco dificil entender el codigo y la libreria.

el mezclador es para poder ponerselo a mi bici(quiero controlar estos leds que puse en los rines).
pero quiero hacerlo con el 12F675, se que hay uno en picprojects, pero mi intencion mas que todo es la de aprender.

y la idea es basicamente es que las luces tengan una secuencia predeterminada y otra que sea aleatoria que puedan ser seleccionadas por un interruptor.
la secuiencia predeterminada seria:


Código:
//antes o despues de cada delay se testea de nuevo la posicion del interruptor 
y si cambia se envia de nuevo al testeo principal para decidir si ejecuta la secuencia 
predeterminada o la aleatoria, de igual manera se hace en la aleatoria, 
despues de cada transicion se testea de nuevo la posicion del interruptor.

while(interruptor ==1){
rojo;
          delay_ms(1000);
encendido suave de verde(transición de 1 segundo);
          delay_ms(1000);    //en este punto el color es amarillo
apagado suave de rojo(transición de 1 segundo);
          delay_ms(1000);   //en este punto el color es verde
encendido suave de azul(transición de 1 segundo);
          delay_ms(1000);   //en este punto el color es cyan
apagado suave de verde(...);
          delay_ms(1000);   //en este punto el color es azul
encendido suave de rojo(...);
          delay_ms(1000);   //en este punto el color es purpura
encendido suave de verde(...);
          delay_ms(1000);   //en este punto el color es blanco
apagado suave de verde(...);
          delay_ms(1000);   //en este punto el color es purpura
apagado suave de rojo(...);
          delay_ms(1000);   //en este punto el color es azul
encendido suave de verde(...);
          delay_ms(1000);   //en este punto el color es cyan
apagado suave de azul(...);
          delay_ms(1000);   //en este punto el color es verde
encendido suave de rojo(...);
          delay_ms(1000);   //en este punto el color es amarillo
apagado suave de verde(...); //vuelve a ser rojo
}

espero que puedas guiarme y enseñarme para poder desarrollar este pequeño proyecto.
desde ya, gracias.
saludos
 
#20
hola ericktronik, te comento que he mejorado esa libreria para generacion de señales PWM, pero ahora estoy fuera de casa y no puedo enviarte el archivo... por el momento lo unico que puedo sugerirte que revices la nota de aplicacion AN1074 de microchip ya que yo me base en ese documento para realizar este proyecto

Software PWM, LED Dimming, RGB Color, PIC® Microcontroller, PIC12HV615
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en524189

saludos!!
 

Temas similares

Arriba