mit 2 tastern 2 servos ansteuern

hallo

Nach diversen durchsuchen habe ich nichts gefunden oder war Blind !

Problem:
ich habe 2 servos die derzeit mit einen Taster geschaltet werden soweit so gut und funzt auch
ich bekomme es nicht hin das ich mit taster 1 servo 1 steuer und mit taster 2 servo 2
zugleich ist mir die geschwindigkeit zu hoch.

ein sketch das ich mit ein taster und auch ein servo steuer hatte den erfolg gebracht wie ich mir das dachte

auslösen >> auf >>> 5-8 sek ( je nach dem ) >>>> zu .

#include <Servo.h> 

Servo myservo1;
Servo myservo2;
int pos1 = 0;
int pos2 = 80;
int pushButton=4;
// int pushButton=5;

int ledRed=3;
int ledGreen=2;

void setup()
{
 pinMode(pushButton, INPUT);

 pinMode(ledRed, OUTPUT);
 pinMode(ledGreen, OUTPUT);
 myservo1.write(0);
 myservo2.write(80);
 myservo1.attach(9);
 myservo2.attach(8);
 digitalWrite(pushButton, HIGH); 
} 

void loop()
{

  int pressed=digitalRead(pushButton);

 digitalWrite(ledGreen, LOW);
 digitalWrite(ledRed, HIGH);

 if(pressed==LOW)
 {
 digitalWrite(ledGreen, HIGH);
 digitalWrite(ledRed, LOW);
// digitalWrite(ledGreen2, HIGH); // Option
// digitalWrite(ledRed2, LOW); // Option

 myservo1.write(80);
 myservo2.write(0);

 delay(1000);

  myservo1.write(0);
  myservo2.write(80);
 }

 delay(15);
}

Wo habe ich mein Denkfehler ?
Kann mir einer helfen ?

Gruss

Du hast 1 Taster und 2 Servos in deinem sketch und der scheint so zu funktionieren wie du schreibst
( ausser dass sie schon nach 1 sec zurückfahren statt nach 5 ... 8 )

Wenn du damit zufrieden bist, dass der zweite Taster tot ist, während der erste sein "Servo-Programm" abwartet ist es einfach:

Schmeiss den 2. Servo raus und verdopple dann was du hast, mit anderen Pins (und Variablen-Namen für Taster und Servo).
Oder mach eine Funktion draus, die du 2 mal von loop aus aufrufst.


Wenn aber beide Taster unabhängig voneinander und gleichzeitig ihren Servo steuern sollen, müssen die delays raus. Nimm dir das Beispiel BlinkWithoutDelay aus den Basic Tutorials vor und krieg raus, wie man das erweitern könnte, dass 1 Taster seinen Servo steuert, während gleichzeitig eine LED ( ohne delay ) blinkt. ( Die LED soll weiterblinken auch wenn der Servo fährt, und der Servo soll nach einiger Zeit selbst wieder zurück fahren. )

Der Rest ( 2. Taster ) ist einfach, bzw. liefert ganz andere Herausforderungen :wink: