What a great artical!
It solved my many questions. But I'm still confused why there must be a
Wire.beginTransmission(0x20);
I've read the Cypress datasheet, but this code seemmingly have nothing to do with Cypress. The code behind it is truly to configurate PWM's register.
Besides, if I want to control 6 servos in one loop, should I change the 188hz to 44hz every time?
And the final question is "servo goes to 0 degrees (2.7% duty), 180 degrees (12% duty)"
but in my memory, it's 0 degrees(0%) ~ 180 degrees(100%)
Thank you very much!