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
Tastereingabe sperren im Code?
12.08.2015, 12:47 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2015 12:47 von Haustechno.)
Beitrag #1
Tastereingabe sperren im Code?
Malzeit,

ich habe zwei Taster als Beispiel,möchte mit jedem Taster die dazugehörige LED schalten,aber eine falsche Eingabe,also z.b. drücken beider Taster gleichzeitig unterdrücken/unterbinden.

Hier mein Code:
Code:
if (TasterMehr == LOW) {
    digitalWrite(9, HIGH);
    digitalWrite(10,LOW);  // TasterWeniger sperren
  }
  else {
    digitalWrite(9, LOW);
  }
if (TasterWeniger == LOW) {
    digitalWrite(10, HIGH);
    digitalWrite(9, LOW);   // TasterMehr sperren
  }
  else {
    digitalWrite(10, LOW);
  }

Gibt es eine feinere Lösung für sowas?

Gruß
Haustechno

Smarthome ist die Zukunft ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.08.2015, 12:57
Beitrag #2
RE: Tastereingabe sperren im Code?
Hi,
wo ist das Problem?
Code:
if(TasterMehr != TasterWeniger) {
  ... und hier dann die normale Abfrage für beide Taster
}
Natürlich müsste da noch entsprechend entprellt werden etc. Wenn Du als Mensch zwei Tasten gleichzeitig drückst, dann sind da möglicherweise doch ein paar Millisekunden, während denen nur die eine Taste gedrückt ist.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.08.2015, 13:22 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2015 13:27 von Haustechno.)
Beitrag #3
RE: Tastereingabe sperren im Code?
(12.08.2015 12:57)Thorsten Pferdekämper schrieb:  Hi,
wo ist das Problem?
Code:
if(TasterMehr != TasterWeniger) {
  ... und hier dann die normale Abfrage für beide Taster
}
Natürlich müsste da noch entsprechend entprellt werden etc. Wenn Du als Mensch zwei Tasten gleichzeitig drückst, dann sind da möglicherweise doch ein paar Millisekunden, während denen nur die eine Taste gedrückt ist.
Gruß,
Thorsten

Nun so einfach ist es nicht :-(

Also mit deinem code geht zwar entwerder eine oder die andere diese beliben aber an!

Es soll halt :
- drücke TasterMehr =) LED mehr geht an
loslassen TasterMehr =) LED mehr geht aus

- drücke TasterWeniger =) LED weniger geht an
loslassen TasterWeniger =) LED weniger geht aus

- drücke beide Taster,nix passiert !!!

mit meinem Code von oben wird es wenigstens zum teil unterbunden.
DH.

beim drücken beider Taster geht immer die weniger led an,die mehr led bleibt aus

Smarthome ist die Zukunft ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.08.2015, 14:48 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2015 14:53 von Scherheinz.)
Beitrag #4
RE: Tastereingabe sperren im Code?
Und so?

Code:
if (TasterMehr == LOW && TasterWeniger == HIGH) {
digitalWrite(9, HIGH);
digitalWrite(10,LOW);
}
else {
digitalWrite(9, LOW);
}

if (TasterMehr == HIGH && TasterWeniger == LOW) {
digitalWrite(9, LOW);
digitalWrite(10,HIGH);
}
else {
digitalWrite(10, LOW);
}

Dein Problem ist das du niemals beide Taster ganz genau gleichzeitig drücken kannst. Da musst du dir über die Software was basteln. Z.B. Wenn Taster gedrückt -> warte ein paar millis() ab -> ist noch betätigt? -> weiter verarbeiten. So kannst du auch über die Software zusätzlich noch entprellen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.08.2015, 14:48
Beitrag #5
RE: Tastereingabe sperren im Code?
Hi,
tja, da Du uns halt nicht das komplette Coding gönnst kann man dazu kaum was sagen.
Das mit dem Drücken beider Tasten liegt wahrscheinlich daran, dass halt ein Kontakt immer zuerst schließt.
Zitat:- drücke beide Taster,nix passiert !!!
Das wolltest Du doch, oder?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Code wird langsamer mit der Laufzeit Wampo 9 274 05.10.2017 11:32
Letzter Beitrag: SkobyMobil
Tongue Visual Studio Code als Editor für die Entwicklung von Arduino Code Klaus(i) 1 255 03.09.2017 19:15
Letzter Beitrag: Mathias
  Volume Up falscher Tastatur Hex-Code Maxi290997 7 504 03.07.2017 21:49
Letzter Beitrag: Maxi290997
  delay(...) im Code ok? donut 4 450 08.06.2017 20:16
Letzter Beitrag: donut
  Textdokument in Arduino Code umwandeln Tellen 9 610 03.06.2017 16:30
Letzter Beitrag: Tellen
  TFT Pixel to Code oOSpikeOo 5 401 06.04.2017 18:49
Letzter Beitrag: Tommy56
  Tri-State Code ?? Franz54 3 396 12.02.2017 19:23
Letzter Beitrag: Franz54
  Tastereingabe zählen und LEDs nacheinander ausschalten kille 4 797 12.02.2017 14:03
Letzter Beitrag: Tommy56
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 724 02.02.2017 12:16
Letzter Beitrag: Tommy56
  Einfacher Tacho für niedrige Geschwindigkeiten – Code optimieren Bastelo 2 610 12.10.2016 20:31
Letzter Beitrag: Bastelo

Gehe zu:


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