Zamiast robic 'sledztwo' trzeba bylo po prostu zajrzec w kod servo.cpp, wiedzialbys dlaczego write reaguje tak a nie inaczejJakub Jewuła pisze:- write wpisuje wartosci chyba dowolne? W kazdym razie napewno od 0 do 2000.
- ESC reaguje na caly zakres tej wartosci - co ciekawe gdy jest skalibrowane dla
zakresu 0-180 to do 180 oczywiscie silnik sie rozpedza potem okolo 550 silnik staje
i znowu od okolo 1000 do 2000 pracuje zwiekszajac RPM.
Kod: Zaznacz cały
void Servo::write(int value)
{
if(value < MIN_PULSE_WIDTH)
{ // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds)
if(value < 0) value = 0;
if(value > 180) value = 180;
value = map(value, 0, 180, SERVO_MIN(), SERVO_MAX());
}
this->writeMicroseconds(value);
}