Hola, requiero hacer una aplicación para controlar la intensidad de muchos leds. El problema es que quiero controlar la intensidad de cada led independientemente, y son muchos (como 20) y no tengo tantos PWM en un microcontrolador, así que pensé que podría programar un pwm manual para cada pin de salida del micro.
Usaría un pic 18f452. y mi idea es programar lo siguiente para cada pin de salida (por ejemplo para el pin B0)
while(1){
output_bit( PIN_B0, 1);
delay_ms(9);
output_bit( PIN_B0, 0);
delay_ms(1);
}
Así tendría un periodo de 10 ms, (o 100 hz de frecuencia) con un 90% de ciclo de trabajo.
Obvio también podría hacer lo con delay_us y diversos valores para tener una frecuencia de pwm más alta, sin embargo, no se si ésta solución vaya a funcionar.
Quisiera su opinión.
Usaría un pic 18f452. y mi idea es programar lo siguiente para cada pin de salida (por ejemplo para el pin B0)
while(1){
output_bit( PIN_B0, 1);
delay_ms(9);
output_bit( PIN_B0, 0);
delay_ms(1);
}
Así tendría un periodo de 10 ms, (o 100 hz de frecuencia) con un 90% de ciclo de trabajo.
Obvio también podría hacer lo con delay_us y diversos valores para tener una frecuencia de pwm más alta, sin embargo, no se si ésta solución vaya a funcionar.
Quisiera su opinión.