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
  Probleme mit SD-Karten und Displayansteuerung gleichzeitig reichs 7 183 13.11.2019 18:55
Letzter Beitrag: reichs
  Rotary Encoder - gedrückt und gleichzeitig drehen Gerdchen03 6 226 29.10.2019 10:49
Letzter Beitrag: Tommy56
  Zeitmessung - Taster gedrückt DEL 14 847 08.08.2019 21:25
Letzter Beitrag: Bitklopfer
  Sketch drucken Gerd42 1 620 08.05.2019 10:11
Letzter Beitrag: Tommy56
  Taster nur 1xmal zählen Flötzinger 3 634 05.05.2019 11:49
Letzter Beitrag: Flötzinger
  Motor mit Taster Vollgaser 3 767 14.03.2019 18:02
Letzter Beitrag: Bitklopfer
  Codehilfe 1 Taster 2 Relais freaktech 8 910 20.02.2019 22:00
Letzter Beitrag: freaktech
  mBlock und Arduino IDE gleichzeitig auf einem PC? mgbig 4 598 14.01.2019 08:39
Letzter Beitrag: mgbig
  Taster Abfrage Manuel 1 658 13.01.2019 10:50
Letzter Beitrag: Tommy56
  RGB LED Lauflicht per Taster unterbrechen AC_DC_new 28 3.567 05.08.2018 19:16
Letzter Beitrag: AC_DC_new

Gehe zu:


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