Anfängerproblem "Bedingte Schleife"

Folgendes problem zu dem mir keine Lösung einfällt:

Ich habe eine Schleife, Steuerung von 3 Servos in Positionen die ich allerdings nur arbeiten lassen will wenn der Schalter eingeschaltet ist. Diese Schleife soll dann aber nur ein mal durchlaufen werden! Am liebsten würde ich das mit einem Taster realisieren da dann die Ablaufbedingung automatisch wieder 0 (nicht eingeschaltet) ist.

Für einen Denkanstoß wäre ich dankbar.

Servotimer2.h habe ich verwendet, unter IDE 1.03 bekomme ich aber nur Fehlermeldungen? Wo besteht die Inkompalibität?

Mach es doch als Funktion:

const int buttonPin = 2;
int buttonState = 0;
void drehe_motor() {
//Code für die Servos hier
}
void setup() {
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
drehe_motor();
}

Addi

Danke, das war es was ich brauchte!

Damit die Funktion nur einmal pro Tastendruck aufgerufen wird mußt Du eine Statusvariable benutzen:

const int buttonPin = 2;
int buttonState = 0;
int buttonlaststate = 0;
void drehe_motor() {
//Code für die Servos hier
}
void setup() {
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && buttonlaststate == 0) {
buttonlaststate = 1;
delay(10);                                  // entprellen
drehe_motor();
}
if (buttonState == LOW && buttonlaststate == 1) {
buttonlaststate = 0;
delay(10);                                // entprellen
}