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
  Super Mario Theme per Taster theo-rist 5 450 26.08.2020 19:15
Letzter Beitrag: hotsystems
  Rotary Encoder und I2C Display gleichzeitig verwenden BenGroll 3 679 27.07.2020 10:23
Letzter Beitrag: hotsystems
  Arduno + Ethernet-Shield: HTML-Seite mit Taster für einmalige Auslösung RivaDynamite 1 478 22.06.2020 20:50
Letzter Beitrag: Tommy56
  Zwei Richtungen mit einem Taster FoxFactoy 12 1.295 19.06.2020 13:04
Letzter Beitrag: hotsystems
  Betätigung d. Sensors soll Steuerung abschalten und nur über Taster einschalten Floydi 12 1.498 26.04.2020 07:47
Letzter Beitrag: MicroBahner
  Funk Fernbedienung Taster Abfrage kurz oder lange gedrückt Michi_exe 15 1.441 16.04.2020 17:19
Letzter Beitrag: Tommy56
  Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung Milano 6 1.041 21.03.2020 16:06
Letzter Beitrag: MicroBahner
Question "Bobbycar LED" - 2 Fragen (Mehrere Taster: Unterprog. Abbrechen / Einfacher "Code" ?) KlausGuenther 13 1.733 19.03.2020 14:09
Letzter Beitrag: Tommy56
  E293D Motor Shield mit Taster bedienen Milano 17 1.769 16.03.2020 20:34
Letzter Beitrag: Milano
  Stepper Steuerung mit Taster und Endschalter Milano 10 2.222 27.02.2020 14:34
Letzter Beitrag: hotsystems

Gehe zu:


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