Description
Moved from arduino/Arduino#10160 by @kreinkens
Both write()
and writeMicroseconds()
commands should be able to control both position and continuous rotation servos, given appropriate inputs.
I discovered that they are unable to act equally in controlling the continuous rotation servos. I was working in MATLAB which apparently used only the write()
command as the basis for servo control.
Returning to Arduino environment, I configured the servo, attach(12,1400,1600)
. I measured the delivered signals. Although the midpoint pulse width of 1500 was valid, the min/max values were closer to 375 and 2620 respectively. The result is that it is not possible to vary the speed of the continuous rotation servo using the write()
command.
Not a problem in Arduino, since writeMicroseconds()
is available to create variable speed control.
However, MATLAB has not included a similar command in the support for Arduino Hardware. I have made this request, but thought that addressing this in the Arduino write()
command might be another strategy to solve this.