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
}