Forum: Mikrocontroller und Digitale Elektronik Arduino Tastenzähler


von Stefan (Gast)


Lesenswert?

Hallo Leute,

Anfängerfrage. Ich habe da ein simples Programm das mir nur die 
Tastendrücke am Serial Monitor ausgeben soll. Leider wird immer 0 
angegeben.
Was ist an diesem Code falsch ? Ich tüftel die ganze Zeit herum und mir 
klingt dieses Programm Logisch aber es funktioniert einfach nicht.
Kann mir wer nur einen Tipp geben ?

Ich verwende für den pin 5 den Internen Pull-Up Widerstand

Der Code:
void loop()
{
 tastenzustand=digitalRead(5);

 if(tastenzustand!=letzterzustand)
  {

  if(tastenzustand==LOW)
   {
     tastendruecke++;
   }

 }
   Serial.println(tastendruecke);
 tastenzustand=letzterzustand;


}

von Mario M. (thelonging)


Lesenswert?

Stefan schrieb:
> tastenzustand=letzterzustand;

von Andreas I. (andy5macht)


Lesenswert?

Probiere es mal mit Flankenerkennung. Evtl musst du ein Beispiel 
googlen.

von Ich (Gast)


Lesenswert?

Stefan schrieb:
> tastenzustand=letzterzustand;

Überleg mal, ob es was bringt auf den aktuellen Zustand den letzten zu 
schreiben. Macht es nicht mehr Sinn das ganze umgekehrt zu machen? Also 
sich den aktuellen Zustand für die nächste runde zu merken?

von Stefan F. (Gast)


Lesenswert?

Andreas I. schrieb:
> Probiere es mal mit Flankenerkennung.

Das macht er doch mit seinen Variablen.

> tastenzustand=letzterzustand;

Das muss anders herum sein.

von Stefan (Gast)


Lesenswert?

Ich überreiße es nicht :(

Bin kurz davor aber der Aha Punkt fehlt :)

von Stefan F. (Gast)


Lesenswert?

Stefan schrieb:
> Ich überreiße es nicht :(
>
> Bin kurz davor aber der Aha Punkt fehlt :)

Du hast die beiden Variablen vertauscht, in der Zeile:
> tastenzustand=letzterzustand;

von Wolfgang (Gast)


Lesenswert?

Stefanus F. schrieb:
> Du hast die beiden Variablen vertauscht, ...

Welche Variablen?

Es sind überhaupt keine Variablen deklariert und wer weiß, ob der Port 
vernünftig initialisiert ist.

von Dietrich L. (dietrichl)


Lesenswert?

Wolfgang schrieb:
> Es sind überhaupt keine Variablen deklariert

Stell dich nicht so dumm: wenn er nichts deklariert hätte, gäbe es gar 
kein Programm, mit dem er testen könnte.

von Rebell John (Gast)


Lesenswert?

Dietrich L. schrieb:
> Wolfgang schrieb:
>> Es sind überhaupt keine Variablen deklariert
>
> Stell dich nicht so dumm: wenn er nichts deklariert hätte, gäbe es gar
> kein Programm, mit dem er testen könnte.

Der stellt sich nicht dumm. Das hat er in mehreren Beiträgen in 
anderen Threads schon bewiesen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.