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
Taster für mehrere Funktionen
16.08.2016, 10:25
Beitrag #1
Taster für mehrere Funktionen
Hallo,

ich möchte für eine DMX-Steuerung einen Taster am Arduino Uno für mehrere Funktionen nutzen.
Wenn der Taster kurz betätigt wird, soll ein Lichtprogramm ausgegeben werden.
Wenn der Taster 2 s betätigt wird, sollen alle Lampen Hellweiß leuchten.
Wenn der Taster 4 s betätigt wird, möchte ich ein anderes Lichtprogramm wählen können.
Wie kann ich diese unterschiedliche Auswahl mit einem Taster realisieren?

Vielen Dank für Eure Hilfe!

Viele Grüße

Matthias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2016, 10:46
Beitrag #2
RE: Taster für mehrere Funktionen
Hallo Matthias,

mal eine Überlegung.
1. Als erstes musst Du feststellen ob er Taster gedrückt wurde.
Wenn ja speicherst Du in einer Variablen (die im Setup-Teil auf 0 gesetzt wird) die akutelle "Zeit" (millis).
2. Wenn der Taster jetzt losgelassen wird speicherst Du wieder die "aktulle Zeit" in einer zweiten Variablen.
3. Abhängig von der Differenz zwischen den Zeiten startest Du dein Lichtprogramm.

Gruß
Stephan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2016, 11:05
Beitrag #3
RE: Taster für mehrere Funktionen
Hallo Stephan,

vielen Dank für Deine Idee.
Das würde aber bedeuten, dass ich den Taster auf jeden Fall erst loslassen muss, bevor sich etwas tut und ich gedanklich mitzählen müsste - oder?
Meine Vorstellung ist, dass das ganze "automatisch" passiert. D.h. Arduino erkennt, dass ich den Taster für z. B. 2 s gedrückt habe und alle Lampen auf
Weiß stellt.
Ich glaube ich werde die Programmauswahl doch mit einem seperaten Taster "erschlagen", so dass ich nur zwei Abfragen im Programm habe.

Viele Grüße

Matthias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2016, 11:50
Beitrag #4
RE: Taster für mehrere Funktionen
(16.08.2016 11:05)matthias3579 schrieb:  Hallo Stephan,

vielen Dank für Deine Idee.
Das würde aber bedeuten, dass ich den Taster auf jeden Fall erst loslassen muss, bevor sich etwas tut
Hallo Matthias,

nicht zwingend. Hier mal ein Pseudocode
Code:
## variablen
zeit1 : long;
zeit2: long;

setup() {
zeit1 = 0;
zeit2 = 0;
}

loop(){
if (Tastergedrück)
{
   if (zeit1 =0)
    {
      zeit1 = millis()
      zeit2 = 0;
    }
   else
   {
     zeit2 = millis()
   }
  }
if (zeit 1 > 0)
  {
    if (zeit2 - zeit1 > 500)
    {
     zeit1 = 0;
     starte_licht_1
    }
   if (zeit2 - zeit1 > 2000)
    {
     zeit1 = 0;
     starte_licht_2
    }
  }
}

Gruß
Stephan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2016, 15:43
Beitrag #5
RE: Taster für mehrere Funktionen
Hallo Stephan,

ich probiere es mal aus. Vielen Dank für Deine Mühe!

Viele Grüße

Matthias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2016, 16:00
Beitrag #6
RE: Taster für mehrere Funktionen
Eines musst Du natürlich berücksichtigen.
Das ist nur preudo code. In der Realität musdt Du dsran denken das; wenn der Taster 3 Sekunde gedrückt wurde er natürlich auch schon 0.5 Sekunden gedrückt war.
Also bei der Zeitauswertung zuerst die längste prüfen oder andere Kriterien auswerten.

Gruß
Stephan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  LCD Menü per taster Herberto 3 136 21.02.2018 17:56
Letzter Beitrag: Herberto
  LCD Menü per taster Luppi 5 3.161 18.02.2018 12:44
Letzter Beitrag: ardu_arne
  Temperatur mit Taster um +1 erhöhen T100 7 327 09.02.2018 04:58
Letzter Beitrag: T100
  Funktionen und deren Rückgabewerte, Verständnisproblem HarryS 6 278 07.02.2018 22:58
Letzter Beitrag: Tommy56
  Mehrere Ausgänge mit einem Befehl auf High oder Low setzen dahans 1 349 10.01.2018 12:48
Letzter Beitrag: Tommy56
  led mit taster moankopf 11 641 25.12.2017 23:34
Letzter Beitrag: Chopp
  Ampelschaltung mehrere Befehle möglichst gleichzeitig Jan5663 15 702 15.12.2017 15:46
Letzter Beitrag: Chopp
  Wie Programmiere ich mehrere if-Abfragen? Mr.Purz 7 631 12.12.2017 21:25
Letzter Beitrag: Tommy56
  Taster 1 mal drücken = LED 2 mal blinken oder aufblitzen gordolino 19 1.913 03.11.2017 15:14
Letzter Beitrag: ardu_arne
  Übergabe von Arrays an Funktionen Marcel 4 488 31.10.2017 13:28
Letzter Beitrag: Tommy56

Gehe zu:


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