Startposition RS-2-Servo

Ich habe einen Sketch, der die Servo-Bib benutzt und einen RS-2-Servor ansteuert.
Funktioniert auch tradellos. Mich stört es nur, dass der Servo bei jedem Reset des Arduinos
wieder in seine Mittelposition fährt. Kann man das irgendwie verhindern, so dass er einfach
in der Position bleibt, in der er vor dem Reset war?

Kannst Du ihm denn nicht im setup() direkt die gewünschte Startposition zuweisen?

Wenn er in der letzten Position bleiben soll muss Dein Sketch sich diese merken und bei Neustart wieder als Startposition senden.

Das merken ist nicht so einfach. Du speicherst bei jeder Positionsänderung des Servos den Wert ab. Das EEprom das der ATmega hat, ist nicht der beste Ort, da das EEprom nicht unendlich oft geschreiben werden kann und weil ein Schreibzyklus etwas lang ist. Zum probieren kannst Du es aber mal amchen.
Bessere ist ein FRAM von Ramtron das man wie ein externes EEprom ansperchen kann aber keine Schreibpause braucht und das den Zustand auch ohne Strom beibehält. Alternativ kannst Du auch das RAM einer RTC nehmen (ZB DS1307 hat 56 Byte RAM). Auch das behält dank der Pufferbatterie die Daten ohne Strom.
Im Setup holst Du den abgespeicherten Wert und setzt den Servo. Ich glaube aber nicht, daß Du erreichst, daß der Servo beim Resetieren oder Einschalten des Arduino sich nicht bewegt. Du kannst nur die alte Position anfahren.
Grüße Uwe

profwebapps:
Kannst Du ihm denn nicht im setup() direkt die gewünschte Startposition zuweisen?

Die momentane Position kenne ich ja zum Zeitpunkt von setup() nicht. Sonst würde ich dies ja tun.

Danke für Eure Antworten, ich dachte, das ginge vielleicht über einen einfachen Befehl in der Bib.
Dann war ich wohl doch nicht zu doof! :slight_smile: