This library implements a PWM output expander for AVR Atmega micro using CD4017.
With this library we can write a module to move servos using PWM.
A servo expansion module is already implemented as example, with this module you can run up to 36 servos @ 2.25degree precision per step or 9 servos @ 0.18 degrees of precision.
"High accurancy" is 1.0us of precision per step @16Mhz, normal accurancy is 12.5us precision per step @16Mhz.
The default frequency for servos is 50Hz.
If you run this sample at a different frequency you must update the countdown parameter of this library, and also you should test it to prove that the resource are enough to output the pulse to CD4017 at the desired frequency.
I've test it using some servos and scope for the remaining outputs.
This library was developed on Eclipse, built with avr-gcc on Atmega168 @ 16MHz.
Code
Notes
- read risk disclaimer
- excuse my bad english