Guten Tag,

ich habe eine Frage bzgl. der Ansteuerung von Servo Motoren. Vorab hier mein verwendeter Code.

#include <Servo.h>

Servo rightleft;

int right = 2;
int left = 3;
int right_state;
int left_state;
int servo_val;

void setup()
{
Serial.begin(9600);
pinMode(right, INPUT);
pinMode(left, INPUT);
rightleft.attach(6);
servo_val = rightleft.read();
}

void loop()
{
right_state = digitalRead(right);
left_state = digitalRead(left);

if(right_state == HIGH)
{
rightleft.write(servo_val - 1);
delay(14);
servo_val = rightleft.read();
Serial.println("Right HIGH");
}

if(left_state == HIGH)
{
rightleft.write(servo_val + 1);
delay(14);
servo_val = rightleft.read();
Serial.println("Left HIGH");
}
}


Das funktioniert alles wunderbar bei einem Analog Servo AS3103 PG. Jetzt wollte ich einen größeren Servo ((DS3115) der digital ist anschließen. Dieser habe ich mit dem + Pol an eine 6 Volt Spannungsquelle verdrahtet. Die Massen von Arduino und externen Spannungsquelle sind miteinander verbunden.

Der Servo reagiert aber absolut auf keine Betätigung meiner beiden Buttons. Das einzige was er macht ist dass er im ca. Sekundentakt von links nach rechts stottert.

Woran kann das liegen?

Vielen Dank schon mal.