Pages: [1]   Go Down
Author Topic: Frage Taster  (Read 626 times)
0 Members and 1 Guest are viewing this topic.
Austria
Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo!
Wie kann ich überprüfen ob ein Taster für 2 sek. gedrückt wurde?

mfg
Michael
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 593
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie wärs mit "die Zeit messen in der der Taster seinen Zustand nicht ändert"?

Grüsse
Klaus
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mit millis()

Sagen wir der Taste geht auf H wenn Du ihn drückst:
Du speicherst die Zeit ab wenn der Taster von L auf H geht und subtrahierst diese von der Zeit wenn der Taster von H auf L geht. Wenn diese Zeit größer als 2000 ist, dann wurde der Taster länger als 2 Sekunden gedrückt.
http://playground.arduino.cc/Learning/BlinkWithoutDelay_de

Grüße Uwe
Beispielcode:
Code:
unsigned long Zeit;
byte statustaster=0;

...
loop()
{
if (digitalRead (Taster) ==1 && statustaster ==0)     // taster gedrückt
{
delay (10);                // entprellen
Zeit = millis();
statustaster =1;
}

if (digitalRead (Taster) ==0 && statustaster ==1)     // taster losgelasen
{
delay (10);                // entprellen
statustaster =0;
if ( millis() - Zeit >2000)
{
mach irgendwas   //Taster länger als 2 Sek gedrückt
}
else
{
mach irgend etwas anderes // Taster kürzer als 2 Sek gedrückt
}
}
Logged

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bei der positiven Flanke vom Taster, speicherst du die Zeit mit dem Befehl millis().
Dann berechnest du, wenn der Taster noch gedrückt ist, die Differenz aus der aktuellen Zeit und der gespeicherten Zeit und schon hast du die Zeit, wielange du denn Taster schon drückst.

So mach ich es in meinem aktuellen Projekt auch, funktioniert einwandfrei.

Edit: Uwe, war schon wieder schneller smiley-wink

Grüße,
J3RE
« Last Edit: February 09, 2013, 01:50:59 pm by J3RE » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Edit: Uwe, war schon wieder schneller smiley-wink
Ich bitte um Entschuldigung  smiley-wink smiley-wink smiley-wink
Logged

Pages: [1]   Go Up
Jump to: