Serwomechanizmy

Popularnie nazywane serwami. Są to urządzenia zamieniające sygnały elektryczne na ruch obrotowy o odpowiedni kąt.

Podłączmy serwo do Arduino: 

Tu kolorystyka kabli jest ważna: brązowy(GND), czerwony(5V) i żółty(Sygnał) lub czarny(GND), czerwony(5V) i biały(Sygnał).

Serwa tak jak silniki sterujemy sygnałem PWM, z tym że przy serwach czas trwania stanu wysokiego decyduje o kącie obrotu wałem serwa.

Nasz program będzie wychylał orczykiem serwa zgodnie z odczytem napięcia z potencjometru.

#include <Servo.h>

Servo moje_serwo;  // stworz obiekt moje_serwo do kontroli serwa

int potencjometr = A0;  // pin analogowy do odczytu potencjometra
int wartorsc;    // zmienna przechowujaca odczyt z potencjometru

void setup() {
  moje_serwo.attach(11); // serwo podlaczone jest do pinu 11
}

void loop() {
  wartorsc = analogRead(potencjometr);            // odczytaj wartosc z potencjometru (wartosc z przedzialu 0-1023)
  wartorsc = map(wartorsc, 0, 1023, 0, 180);     // zeskaluj odczyt do miary katowej (od 0 do 180) lub czasu trwania stanu wysokiego (od 700 do 2300)
  moje_serwo.write(wartorsc);                  // ustaw pozycje serwa z zeskalowanego odczytu: moje_serwo.write(wartosc) dla kata, moje_serwo.writeMicroseconds(wartosc) dla czasu stanu wysokiego
  delay(15);                           
}