jetzt gibt es den vom MicoBahner überprüften Sketch:
Code: Alles auswählen
/* https://stummiforum.de/viewtopic.php?f=21&t=178411
 */
#include <MobaTools.h>
#include <EEPROM.h>
// Die Taster müssen so angeschlossen sein, dass der Eingang bei gedrücktem
// Taster auf LOW (=0) geht. Ansonsten muss im loop auf HIGH abgefragt werden
const int tasterPin1 = 2;    // Taster1 Pin 2
const int tasterPin2 = 3;    // Taster2  Pin 3
const int servoPin  =  9;    // Anschluß für den Servo, möglich sind 9 oder 10
// bei Werten, die sich im Programm nie verändern, sollte immer 'const' vorangestellt
// werden
//gegen Sevozucken Widerst.5K von Servosteuerung zu Vcc geschaltet
int tasterStatus1, tasterStatus2;
MoToServo meinServo;
void setup() {
    pinMode(tasterPin1, INPUT_PULLUP);   //tasterPin1 (Pin 2)
    pinMode(tasterPin2, INPUT_PULLUP);   //tasterPin2 (Pin 3)
    
    meinServo.attach(servoPin, true );   //Servo an Pin 9
    meinServo.setSpeed(5);               //Das ist ein neuer Aufruf, mit dem die Geschwindigkeit
                                         //eingestellt wird. Je größer die Zahl, umso größer
                                         //die Geschwindigkeit. Bei 0 (defaultwert) verhält es
                                         //sich wie bei der Standard Bibliothek
    meinServo.write(EEPROM.read(0));     //"bewege" Servo zur letzten im EEPROM gespeicherten Position
}
void loop() {
    tasterStatus1 = digitalRead(tasterPin1);
    tasterStatus2 = digitalRead(tasterPin2);
    if (tasterStatus2 == HIGH ) {
        meinServo.write(50);             //wird langsam  drehen
        EEPROM.update(0, 50);            //schreibe Zielposition ins EEPROM
        delay(100);
    }
    if (tasterStatus1 == HIGH) {
        meinServo.write(120);            //wird langsam drehen
        EEPROM.update(0, 120 );          //schreibe Zielposition ins EEPROM
        delay(100);
    }
    delay(20);
}
