/*Achtung: +5Vdc vom L298N muss an den Servo gelegt werden (Stromaufnahme ist zu hoch, Spannungsversorgung ueber USB vom Arduino zu stark belastet). Dieser Sketch stellt den Servo auf die Mittelstellung 0 Grad. Danach wird nach links, rechts und zuueck auf 0 Grad geschwenkt. Die "for"-Schleife sorgt dafuer, dass der Servo so lange aktiviert bleibt bis er seine Zielstellung erreicht hat. Der Sketch und damit die Loop-Schleife wird beendet. Pin D9 ist vor Beendigung auf LOW gesetzt, deshalb laesst sich der Servo per Hand verdrehen*/ void setup() { pinMode(9, OUTPUT); //Arduino Pin D9 als Ausgang (Signal zum Servo) } void loop() { for (int i=0; i<=100 ; i++) //Wird 100x wiederholt, damit hat der Servo 20ms x 100 = 2s Zeit zum Drehen { digitalWrite(9,HIGH); delayMicroseconds(1150); //Bei Einstellung von 1,15ms stellt sich Servo auf 0 Grad(experimentell ermittelt) digitalWrite(9,LOW); delay(19); //Ergaenzung auf Zykluszeit etwa 20ms (delayMicroseconds funktioniert nur bis 16383 "integer") } for (int i=0; i<=100 ; i++) { digitalWrite(9,HIGH); delayMicroseconds(1900); //Bei Einstellung von 1,9ms stellt sich Servo nach links digitalWrite(9,LOW); delay(19); //Ergaenzung auf Zykluszeit etwa 20ms } for (int i=0; i<=100 ; i++) { digitalWrite(9,HIGH); delayMicroseconds(500); //Bei Einstellung von 0,6ms stellt sich Servo nach rechts digitalWrite(9,LOW); delay(20); //Ergaenzung auf Zykluszeit etwa 20ms } for (int i=0; i<=100 ; i++) { digitalWrite(9,HIGH); delayMicroseconds(1150); //Bei Einstellung von 1,15ms stellt sich Servo auf 0 Grad(experimentell ermittelt) digitalWrite(9,LOW); delay(20); //Ergaenzung auf Zykluszeit etwa 20ms } for (;;) {} //Beende Sketch }