Intensidad y variacion en leds rgb

buenas, soy nuevo en el foro, estudio ultimo año en electronica, y tengo un proyecto, el cual es: variar a voluntar, la intensidad y cambio gradual de colores (por ejm pasar de amarillo a rojo, por toda la franja posible de intereses) con una matriz de leds RGB, pienso hacerlo con un micro (especificamente el ATmega8) variando el PWM

He estado leyendo sobre el tema, sin embargo el unico parametro que conozco que puedo variar es el PWM, y no se que parametro variar para la cambiar la intensidad de algun color que forme con RGB, y que parametro para el cambio de color (creo que aqui va el PWM).

Necesito toda la ayuda posible. gracias ops:
 
La intensidad la cambias variando el ciclo de trabajo del PWM... pero para un led RGB necesitas 3 PWMs (uno por cada color) y un ATMEGA8 me parece que solo tiene 2... el tercero tendrias que implementarlo por software...

Variando individualmente cada PWM tendras cambio de tonalidad, variando los 3 PWMs al mismo tiempo tendras cambio de intensidad...
 
Hola a la gente del este post, la idea mía es usar 3 led's (rojo, verde y azul) y utilizar un PIC16F84A par manejar los PWM de cada uno para variar su intensidad de diversa formas para lograr todos los tonos posibles.

estoy empezando a programar, pero me falta un poco aun el tema del PWM, asi que a medida que pueda voy a ir agregando info sobre lo que me va quedando.
 
hola como estan? he visto unas lamparas que van cambiando de color pero solo son de dos colores y queria armar algun circuito simple para hacer que cambien automaticamente de color.
cualquier opinion me viene bien. gracias y saludos
 
Hola...yo empezaria por lo mas simple posible..que sería usando un solo PWM y conectarlo al común para solo jugar con la intensidad y despues pasaria a lo mas complejo que es eso de jugar tambien con la tonalidad,ahora lo que estoy tratando de hacer es un ciclo de 7 colores que resultan de combinar los tres de un solo RGB(ovbio de cuatro pines),quiero que en cada color se detenga aumentando y disminuyendo el brillo de máximo a minimo.. si quieres,ya se que el hilo es viejoo,te paso mi progreso,yo uso un pic16f877a,un solo RGB,tres transistores de potencia y una lámpara arriba del led de ventilador de techo para comprobar el efecto jeje,esta es la función del PWM es muy sencilla pero es un comienzo si quieres la seguimos..

Código:
#include <16f877a.h>
#fuses XT,PUT,NOBROWNOUT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#byte porta=5
#byte portb=6
#byte portc=7

#define RETARDO 24                                       //El retardo entre saltos de PWM es un multiplo de 4.
#define DELTA_DUTY 100
long duty=1000;


main()
{
set_tris_c(0);
portc=0;
setup_timer_2(T2_DIV_BY_16,255,16);                      //Periodo PWM 4 ms

      while(TRUE)
      {
      setup_ccp2(ccp_pwm);
         for(duty=1000;duty>0;duty-=DELTA_DUTY)
         {
         set_pwm2_duty(duty);
         delay_ms(RETARDO);
         }
         set_pwm2_duty(duty);
         delay_ms(1000);
         for(duty=0;duty<1000;duty+=DELTA_DUTY)
         {
         set_pwm2_duty(duty);
         delay_ms(RETARDO);
         }
         set_pwm2_duty(duty);
         delay_ms(1000);
         
      }
}
 
hu que groso...gracias amigo, hace poco compre el programador por usb y algunos pic de alta gama...seguro voy a probar con esa programacion a ver qUE resultados obtengo.

saludos.
 
Última edición por un moderador:
Atrás
Arriba