Podstawy klasy 7 Arduino: Serwo

Przedstawiamy klasę serwo dla Arduino

Serwo lub serwo silnika, jest rodzajem motoreduktora, który może obracać się tylko o 180 stopni. Jest kontrolowany przez wysyłanie impulsów elektrycznych z płyty One. Impulsy te informują serwa, do której pozycji należy się przenieść. Serwo ma trzy przewody, brązowy kabel to GND, czerwony jest VCC, a pomarańczowy jest linią sygnałową.

Komponenty

"Produkt:2000" "Produkt:1436" "Produkt:76"

Zasada eksperymentalna

Serwo składa się z obudowy, płytki drukowanej, silnika bezrdzeniowego, przekładni i wykrywania położenia. Jego zasada działania jest następująca: płyta Plate One wysyła sygnał PWM do serwosilnika, a następnie sygnał ten jest przetwarzany przez układ scalony na płytce drukowanej w celu obliczenia kierunku obrotów do napędu silnika, a następnie ta moc napędowa jest przenoszona na ramię oscylacyjne za pomocą reduktora przekładni. Jednocześnie detektor położenia zwraca sygnał lokalizacji, aby sprawdzić, czy ustawiona pozycja została osiągnięta.

Procedura

Krok 1: Podłącz obwód w sposób pokazany na poniższym diagramie:

Odpowiedni schemat jest następujący:

Krok 2: Program (patrz przykładowy kod na oficjalnej płycie CD lub stronie internetowej)

//

//

/************************************************/

#include <Servo.h>

/************************************************/

Serwo myservo;//tworzenie serwa obiektu do sterowania serwem

/************************************************/

void setup()

{

myservo.attach(9);/mocuje serwo na pinie 9 do serwo obiektu

myservo.write(0);//powrót do 0 stopni

opóźnienie(1000);/poczekaj na sekundę

}

/*************************************************/

pętla void()

{

myservo.write(15);/idzie do 15 stopni

opóźnienie(1000);/poczekaj na sekundę

myservo.write(30);/idzie do 30 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(45);/idzie do 45 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(60);/idzie do 60 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(75);/idzie do 75 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(90);/idzie do 90 stopni

opóźnienie(1000);/poczekaj na sekundę

myservo.write(75);//z powrotem do 75 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(60);//powrót do 60 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(45);//z powrotem do 45 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(30);//powrót do 30 stopni

opóźnienie(1000);/oczekiwanie na sekundę.33

myservo.write(15);//z powrotem do 15 stopni

opóźnienie(1000);/poczekaj na sekundę

myservo.write(0);//powrót do 0 stopni

opóźnienie(1000);/poczekaj na sekundę

}

/**************************************************/

Krok 3: Tworzenie programu

Krok 4: Nagraj program na pokładzie One.

Teraz widać, że serwosilnik obraca się o 90 stopni (obracaj raz na 15 stopni). A następnie skręcić w przeciwnym kierunku.