Arduino Servo SG90

This article is also available in: enEnglisch

Der SG90 ist ein kleiner PWM gesteuerter Servo Motor. Die maximale Drehung liegt bei ungefähr 180 Grad. Der Motor hat eine eigene Platine, die mittels Sensor auf die gewünschte Stellung regelt. Bleibt der Motor kurz stecken, so regelt dieser automatisch nach. Der SG90 kann direkt mit der 5V Stromversorgung vom Arduino betrieben werden. Werden jedoch mehrere Servos gleichzeitig angesteuert, so ist eine externe Spannungsversorgung notwendig.

Wenn der Servo nicht läuft:

Dieser Sketch ist für die Ansteuerung eines analogen PWM Servos. Es gibt auch digitale Servos, die mit diesem Projekt nicht funktionieren. Außerdem unterstützt das Arduino Board nicht auf allen Pins eine PW-Modulation. Für diese Servos können nur folgende digitale Pins verwendet werden: 3, 5, 6, 9, 10 & 11. Werden noch andere Module oder Bauteile mit dem gleichen Arduino verwendet, so könnte auch eine zu niedrige Spannung die Ursache für eine Fehlfunktion sein.
Die Library für Servo-Motoren ist bereits mit dem Arduino IDE installiert worden und muss daher nicht mehr eingebunden werden. Der Code dreht den Motor um 180 Grad langsam vor und schnell wieder zurück. Die Geschwindigkeit kann mit dem Delay in der While-Schleife eingestellt werden.

#include <Servo.h>

Servo servo1;
int position1 = 0;

void setup()
{
  servo1.attach(10);
}
void loop(){
  if (position1 >= 180) {
    position1 = 0;
  }
  while (position1 < 180) {
    servo1.write(position1);
    delay(30);
    position1++;
  }
}