Servo motor

Ovládání servo motoru již není tak jednoduché jako předchozí příklady. Proto nebudeme znovu vynalézat kolo, když to již udělal někdo před námi. Použijeme tedy knihovnu (zdrojový kód, který připojíme k našemu kódu), která se stará o samotné otáčení hřídele serva. V našem kódu budeme využívat programových struktur, které knihovna nabízí.

Místo vynalézání kola, ho tak budeme rázem používat a ušetříme si spoustu práce. Knihovna nese název Servo.h a je již obsažena v Arduino IDE.

V našem příkladu budeme pomocí For cyklu otáčet hřídelí serva od jedné krajní polohy k druhé krajní poloze a zpět.

Ovládání servo motoru

Kód

#include <Servo.h> // připojení knihovny k programu

int pos = 0; // počáteční pozice je 0 stupňů
Servo SG90; // vytvoří instanci serva

void setup()
{ // řídicí pin serva je připojen na pin 9
SG90.attach(9);
}

void loop()
{ // otáčí hřídelí od 0 do 180 stupňů
// po jednostupňových krocích
for (pos = 0; pos < 180; pos += 1) {
// fce knihovny, která otočí hřídelí na pož. pozici
SG90.write(pos);
delay(15); // počká 15 ms, aby servo dosáhlo pozice
}
for (pos = 180; pos > 0; pos -= 1) {
SG90.write(pos); // otoč se na pož. pozici
delay(15); // čas na otočení serva
}
}