Individual LED infinity mirror. Rainbow pattern.
What it does
Uses software to pulse width modulate through 8 bit shift registers. Doing this allows more LEDs to be used than there are pins on a microcontroller.
How I built it
I used an Arduino Uno and an ATTiny85 to prototype on a breadboard. A RIGOL
Challenges I ran into
The order that bits are shifted through the registers needs to be very specific. Clock cycles have to be saved for the effect to be a correct fade, and not blinking. The clock speed of microcontrollers matters.
Accomplishments that I'm proud of
Pulse width modulation working. It was a lot more difficult than it sounded.
What I learned
The ATTiny85 I have has a 1 MHz clock speed, not 8 MHz like I was hoping. So the current software will not work properly and only causes blinking lights.
What's next for pwmshift
Correct the problems by specifying SPI transfers and using asm macros in volatile memory for optimizing speed.