2. Servo Motor S Ř-duino

Ahoj, v tomto začátečnickém tutoriálu si vytvoříme jednoduchý program, abychom se naučili ovládat servo motor. Cílem tohoto projektu je, aby nám motor pootočil nožičku vždy o 180° na jednu stranu a zpět.
Supplies
Servomotor

Servomotor (zkráceně servo) je typ motoru, u kterého je možné nastavit přesný úhel natočení. Serva mohou být volná nebo vázaná rozsahem otáčení. V našich sadách se setkáte se servem, které je omezeno na rozsah 180°. Nejčastěji se taková serva používají třeba pro pohyb páky nebo směrovky. Ve vnitřní konstrukci se nachází mikrokontrolér, který od nás obdrží data pomocí modulace PWM a ta porovná s informacemi o pozici serva dodanými určenou součástkou (například potenciometrem). Následně po porovnání požadované a reálné pozice dodá motoru dostatek energie, aby se otočil tak, že se budou obě tyto čísla shodovat.
Zapojení

Serva pro svou funkčnost potřebují napětí 5V. Propojíme tedy červený kabel serva (napájení) s pinem 5V.
Tam, kde připojíme proud, musíme také většinou napojit uzemnění. Je tedy třeba propojit hnědý kabel serva (uzemnění) s pinem GND.
Na závěr si také musíme vyhradit některý z PINů pro ovládání serva. V našem návodu jsme použily PIN 3, avšak můžete použít kterýkoliv digitální PIN.
Kód
A nyní již pojďme psát kód.
#include <Arduino.h>
//Přidáme knihovnu pro ovládání motoru
#include <Servo.h>
//Definujeme si člena pro motor
Servo myservo;
//Definujeme si proměnou která bude uchovávat aktuální pozici motoru
int poziceServa = 0;
void setup() {
//Připojí motor na námi určený GPIO
myservo.attach(3);
}
void loop() {
//Otáčí motorem na jednu stranu
for (poziceServa = 0; poziceServa <= 180; poziceServa += 1) {
myservo.write(poziceServa);
delay(15);
}
//Otačí motorem zpět na stranu druhou
for (poziceServa = 180; poziceServa >= 0; poziceServa -= 1) {
myservo.write(poziceServa);
delay(15);
}
}
Nyní klikněte na "Upload" a máte hotovo :D