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
Schalter als Taster perfekte Lösung?
27.07.2015, 22:20 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2015 23:13 von julius858.)
Beitrag #1
Schalter als Taster perfekte Lösung?
Hallo zusammen,

ich habe einen Schalter, dieser ist entweder immer HIGH oder LOW.

Ich möchte jetzt gerne, dass der Schalter einen If-Schleife ausführt, wenn dieser von HIGH auf LOW oder von LOW auf HIGH wechselt.

Die If-Schleife soll also ausgeführt werden, wenn sich der Zustand des Schalters ändert, egal ob von HIGH auf LOW oder von LOW auf HIGH.

Im Internet habe ich nur dies hier gefunden:

Code:
oldbutton = 0;
buttonState = 0;

void setup()
{
...
}
void loop()
{
  buttonState = digitalRead(button);

if (buttonState != oldbutton)
{
mach etwas
}

oldbutton = buttonState;
}

Nur sobald der Code etwas komplizierter wird, klappt das nicht mehr so gut.
Gibt es da vielleicht noch bessere Lösungen?

Ich hoffe, mir kann jemand helfen..

Wünsch euch allen eine schöne Woche!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.07.2015, 23:09
Beitrag #2
RE: Schalter als Taster perfekte Lösung?
(27.07.2015 22:20)julius858 schrieb:  
Code:
void loop()
{
  buttonState = digitalRead(button);

if (button != oldbutton)
{
mach etwas
}

oldbutton = button;
}

Ich vermute mal der Fehler liegt an diesen beiden Zeilen:

if (button != oldbutton)
und
oldbutton = button;

da müsste es heißen:

if (buttonState != oldbutton)
und
oldbutton = buttonState;

anders wird der Wert der Variablen nicht genutzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.07.2015, 23:15 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2015 23:16 von julius858.)
Beitrag #3
RE: Schalter als Taster perfekte Lösung?
Upps, stimmt. Ich korrigiere das mal gerade schnell. Danke!

Ich habe mich da nur vertan.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.07.2015, 07:47
Beitrag #4
RE: Schalter als Taster perfekte Lösung?
(27.07.2015 22:20)julius858 schrieb:  Nur sobald der Code etwas komplizierter wird, klappt das nicht mehr so gut.
Gibt es da vielleicht noch bessere Lösungen?
So sollte es dann funktionieren.
Dann liegt es vermutlich an dem Code der in "mach etwas" ausgeführt wird. Der kann natürlich das gesamte Verhalten negativ beeinflussen.
Evtl. vorhandene Delays() aus dem Code entfernen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.07.2015, 11:44
Beitrag #5
RE: Schalter als Taster perfekte Lösung?
(27.07.2015 22:20)julius858 schrieb:  Nur sobald der Code etwas komplizierter wird, klappt das nicht mehr so gut.
Gibt es da vielleicht noch bessere Lösungen?
Hi,
wenn etwas zu kompliziert wird, dann macht man sich eine Funktion.
Code:
# define SWITCH 3  // nehmen wir man an, Pin 3

boolean switchChanged() {
   static int oldState = LOW;  // oder auch HIGH, je nachdem

   int currentState = digitalRead(SWITCH);
   if(currentState == oldState)
      return false;
   oldState = currentState;
   return true;
}

void setup()
{
...
}

void loop()
{
   if (switchChanged()) {
       mach etwas
   }
}

Später kann man dann in der Funktion auch noch entprellen.

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
  Arduino-UNO LED über Taster digital zum leuchten zu bringen IvKriz 9 210 18.02.2017 08:33
Letzter Beitrag: renid55
  Hilfe bei Taster huber5093 11 143 14.02.2017 19:26
Letzter Beitrag: Tommy56
  8 Taster an einem Pin Kitt 9 345 04.02.2017 18:51
Letzter Beitrag: ardu_arne
  Led Impuls beim Taster betätigen clemens5555 11 355 17.01.2017 20:00
Letzter Beitrag: renid55
  Über drei Taster zwei externe Timer steuern Sidamo 23 503 09.01.2017 20:12
Letzter Beitrag: Tommy56
  Led mit taster ausschalten Frankeg 17 549 07.01.2017 21:17
Letzter Beitrag: renid55
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 402 17.12.2016 13:30
Letzter Beitrag: Colby
  mehrere Taster entprellen Kitt 15 833 24.10.2016 21:17
Letzter Beitrag: georg01
  Taster für mehrere Funktionen matthias3579 5 504 16.08.2016 16:00
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 908 16.07.2016 11:43
Letzter Beitrag: Binatone

Gehe zu:


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