17-07-2019, 02:02
Witam!
Rzadko zdarza mi się pracować z servami. Ostatnio wymyśliłem projekt, w którym potrzebuje je wykorzystać. Znalazłem na Forbocie przykład i wgrałem, aby zobaczyć czy działa. Niestety servo przekręca się do około 90 stopni i wraca zacinając się przy tym. Sprawdziłem na 2 serwach i w obu przypadkach jest tak samo. Wkleję program może ktoś będzie wiedział czemu tak się dzieje.
Rzadko zdarza mi się pracować z servami. Ostatnio wymyśliłem projekt, w którym potrzebuje je wykorzystać. Znalazłem na Forbocie przykład i wgrałem, aby zobaczyć czy działa. Niestety servo przekręca się do około 90 stopni i wraca zacinając się przy tym. Sprawdziłem na 2 serwach i w obu przypadkach jest tak samo. Wkleję program może ktoś będzie wiedział czemu tak się dzieje.
Kod:
#include <Servo.h> //Biblioteka odpowiedzialna za serwa
Servo serwomechanizm; //Tworzymy obiekt, dzięki któremu możemy odwołać się do serwa
int pozycja = 0; //Aktualna pozycja serwa 0-180
int zmiana = 6; //Co ile ma się zmieniać pozycja serwa?
void setup()
{
serwomechanizm.attach(9); //Serwomechanizm podłączony do pinu 9
}
void loop()
{
if (pozycja < 180) { //Jeśli pozycja mieści się w zakresie
serwomechanizm.write(pozycja); //Wykonaj ruch
} else { //Jeśli nie, to powrót na początek
pozycja = 0;
}
pozycja = pozycja + zmiana; //Zwiększenie aktualnej pozycji serwa
delay(200); //Opóźnienie dla lepszego efektu
}