INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
2 taster gleichzeitig drücken
02.01.2019, 11:19 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2019 12:46 von Rasa.)
Beitrag #1
2 taster gleichzeitig drücken
Hallo habe eine frage zu meinem Code,
taster1 drücken led1 an
taster2 drücken led2 an
taster1 && taster2 drücken damit die leds abwechselnd blicken.

jetzt würde ich sagen der fehler liegt darin dass ich niemals beide synchron einschalten kann.

wie kann ich, dass Problem lösen


Code:
int schalterzustand1;
int schalterzustand2;
int led1=2;
int led2=3;
int schalter1=11;
int schalter2=12;
int zeit=200;

void setup(){
  pinMode ( led1 , OUTPUT );
  pinMode ( led2 , OUTPUT );
  pinMode ( schalter1, INPUT);
  pinMode ( schalter2, INPUT);
  Serial.begin (9600);
  
}


void loop(){
  schalterzustand1 =  digitalRead (schalter1);
  schalterzustand2 =  digitalRead (schalter2);

  if( schalterzustand1 == 1 )
    {
      digitalWrite ( led1, HIGH);
    }
  if( schalterzustand2 == 1 )
    {
      digitalWrite ( led2, HIGH);
    }

   if( ((schalterzustand1==1) && (schalterzustand2==1)) )       // scheibfehler behoben danke GuaAck  
   {
     digitalWrite ( led1, HIGH);
     digitalWrite ( led2, LOW);
     delay(zeit);
     digitalWrite ( led1, LOW);
     digitalWrite ( led2, HIGH);
   }
    

  else
  {
     digitalWrite ( led1, LOW);
     digitalWrite ( led2, LOW);

  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 11:43
Beitrag #2
RE: 2 taster gleichzeitig drücken
Hallo,
ist da nicht einfach ein Tippfehler? (2 x schalterzustand2)

Code:
if( ((schalterzustand2==1) && (schalterzustand2==1)) )

Ansonsten sollte die Reihenfolge der Abfrage geändert werden. Außerdem: digitalRead gibt HIGH oder LOW zurück. Die Abfrage auf 1 geht zwar, ist aber unlogisch und überflüssig. Also z. B.:

Code:
bool schalterzustand1;
bool schalterzustand2;

void loop(){
  schalterzustand1 =  digitalRead (schalter1);
  schalterzustand2 =  digitalRead (schalter2);

if (schalterzustand1 && schalterzustand2 )
   {
     digitalWrite ( led1, HIGH);
     digitalWrite ( led2, LOW);
     delay(zeit);
     digitalWrite ( led1, LOW);
     digitalWrite ( led2, HIGH);
   }
    
  else if ( schalterzustand1 )
    {
      digitalWrite ( led1, HIGH);
    }
else  if( schalterzustand2 )
    {
      digitalWrite ( led2, HIGH);
    }
  else
  {
     digitalWrite ( led1, LOW);
     digitalWrite ( led2, LOW);
  }
}

Gruß
GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2019 12:47 von Rasa.)
Beitrag #3
RE: 2 taster gleichzeitig drücken
(02.01.2019 11:43)GuaAck schrieb:  Hallo,
ist da nicht einfach ein Tippfehler? (2 x schalterzustand2)

Code:
if( ((schalterzustand2==1) && (schalterzustand2==1)) )

Ansonsten sollte die Reihenfolge der Abfrage geändert werden. Außerdem: digitalRead gibt HIGH oder LOW zurück. Die Abfrage auf 1 geht zwar, ist aber unlogisch und überflüssig. Also z. B.:

vielen dank für deine Hilfe Schreibfehler auch behoben . Ich habe deinen Code benutzt . if (schalterzustand1 && schalterzustand2 ) funktoniert leider aber immer noch nicht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 13:14
Beitrag #4
RE: 2 taster gleichzeitig drücken
Hallo Rasa,
Dein Problem könnte dein delay sein.
Weil beim delay geht der Arduino in so eine Art Warteschleife,
bis die Zeit abgelaufen ist.
Also delay und gleichzeitig Taster drücken peilt der nicht.

Such mal nach " millis, das unbekannte Wesen ".
Ich denke, da ist es am besten erklärt.

Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 13:42
Beitrag #5
RE: 2 taster gleichzeitig drücken
(02.01.2019 13:14)Chopp schrieb:  Also delay und gleichzeitig Taster drücken peilt der nicht.

Gruß, Markus

Danke Heart sitz da seit ner stunde dran
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 15:48
Beitrag #6
RE: 2 taster gleichzeitig drücken
Hallo,

ich weiß nicht genau, wie es Blinken soll, aber so wie der Code ist, wird die zweite Blinkphase ja nur sehr kurz sein. Sollte da evtl. ein delay ergänzt werden?

Code:
if (schalterzustand1 && schalterzustand2 )
   {
     digitalWrite ( led1, HIGH);
     digitalWrite ( led2, LOW);
     delay(zeit);
     digitalWrite ( led1, LOW);
     digitalWrite ( led2, HIGH);
     delay(zeit);  // <<<<<< fehlt dies???
   }

Gruß
GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2019, 16:55
Beitrag #7
RE: 2 taster gleichzeitig drücken
(02.01.2019 15:48)GuaAck schrieb:  delay(zeit); // <<<<<< fehlt dies???
}
[/code]

Gruß
GuaAck


mensch danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Sketch drucken Gerd42 1 407 08.05.2019 10:11
Letzter Beitrag: Tommy56
  Taster nur 1xmal zählen Flötzinger 3 393 05.05.2019 11:49
Letzter Beitrag: Flötzinger
  Motor mit Taster Vollgaser 3 535 14.03.2019 18:02
Letzter Beitrag: Bitklopfer
  Codehilfe 1 Taster 2 Relais freaktech 8 673 20.02.2019 22:00
Letzter Beitrag: freaktech
  mBlock und Arduino IDE gleichzeitig auf einem PC? mgbig 4 422 14.01.2019 08:39
Letzter Beitrag: mgbig
  Taster Abfrage Manuel 1 485 13.01.2019 10:50
Letzter Beitrag: Tommy56
  RGB LED Lauflicht per Taster unterbrechen AC_DC_new 28 2.963 05.08.2018 19:16
Letzter Beitrag: AC_DC_new
Big Grin Brauche dringend Hilfe mit dem Programmieren von Servo und Taster holzchistli 4 1.444 19.06.2018 16:45
Letzter Beitrag: hotsystems
  Taster schalten LEDs mit Schieberegister Sonne 3 1.371 26.03.2018 20:08
Letzter Beitrag: hotsystems
  LCD Menü per taster Herberto 3 1.319 21.02.2018 17:56
Letzter Beitrag: Herberto

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste