@uwefed
Danke, die Möglichkeit habe ich schon wieder verworfen.
Halte ich selbst nicht für praktikabel, bzw. ist genau genommen zu umständlich.
@postmaster-ino
Dank Dir für den Tip.
Ich habe mir jetzt nochmal alles durchgedacht und verglichen.
Da ich in der Vergangenheit Servomotoren im Einsatz hatte/habe und für meinen
Zweck die Mirco-Baugröße der Servos auch ausreicht,
bin ich wieder zurück auf diese geswitched.
Vor allem auch, weil ich da auf meinen bisherigen Code zurückgreifen kann 
Trotzdem benötige ich da nochmal Eure Hilfe:
Der Servo fährt korrekt von seiner 0 Position (20) auf seine Endposition (92) nach einem Druck auf die
Taste (1).
Ich habe versucht eine if/else Variante einzubauen, aber das klappt nicht.
Beim zweiten Druck auf die Taste (1) springt der Servo auf Pos (20) zurück und fährt dann wieder hoch
auf Pos (92).
Ich nehme an, dass ich irgendwas falsch deklariert habe.
Unterbrechungen oder "was-wäre-wenn" ich nochmal während des laufens auf die Taste drück,
lasse ich mal aussen vor, da im Regelfall diese Möglichkeit normalerweise ausgeschlossen ist.
Und der Servo eh bei erneutem Druck auf die Taste während des Drehvorganges nicht reagiert.
Hier mal der Code:
#include <Servo.h>
#include <Keypad.h>
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Four columns
char keys[ROWS][COLS] = { // Define the Keymap
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = { 2, 3, 4, 5};
// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = { 6, 7, 8, 9};
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int led1 = 2;
int itsONled[] = {0,0,0,0};
int pos = 20;
Servo servogarage;
#define pos_ini 20 // Ausgangsposition
#define ledpin 13 //Externe LED
void setup()
{
Serial.begin(9600);
servogarage.attach(12);
servogarage.write(pos_ini);
// pinMode(led1, OUTPUT);
}
void loop()
{
char key = kpd.getKey();
if(key)
{
switch(key)
{
case '1': // DOWN button pressed
Serial.println(key);
Serial.println(pos);
if (pos = 20)
for (pos = 20; pos <= 92; pos += 2) // alt 14.9 92 1
{
servogarage.write(pos); //Dreht nach links
delay(80);
Serial.println(pos);
}
// digitalWrite(led1, LOW); // turn it off when button is pressed
else
if (pos = 92)
for (pos = 92; pos >= 20; pos -= 2)
servogarage.write(pos); //Dreht nach links
break;
}
}
}/* --end main loop -- */
Die LED Geschichte darin bitte ignorieren.
Ich hoffe, damit komme ich mit Eurer Hilfe weiter.
Danke einstweilen und schönen Tag,
Chris