Estoy trabajando en un proyecto que tendrá aproximadamente 50 LED. Estos serán los LED de estado para mostrar si un dispositivo está encendido / apagado. También necesitaré un control de brillo para los LED, por lo que PWM es un requisito en los pines.
¿Cuál será la forma más eficiente (bajo costo, bajo área de PCB y bajo número de componentes) para lograr tal cosa?
Tuve un par de ideas, pero luego encontré algunos problemas con todas ellas:
1) Obtenga un microcontrolador con demasiados GPIO: los controladores con 55 GPIO parecían proporcionar la mejor relación GPIO / precio. He seleccionado uno con 55 GPIO pero incluso ese controlador podría no ser capaz de manejar todo. Poner dos microcontroladores complica las cosas.
2) Utilice expansores de puertos i2c: son muy costosos. Prefiero comprar otro microcontrolador.
3) Use los IC de desplazamiento hacia fuera (595) - Falta de PWM. Implementar PWM en el lado del código no parece ser una buena idea para mí (tal vez me equivoque, pero siento que estoy haciendo las cosas difíciles innecesariamente de esta manera).