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;
}
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?
Andreas I. schrieb: > Probiere es mal mit Flankenerkennung. Das macht er doch mit seinen Variablen. > tastenzustand=letzterzustand; Das muss anders herum sein.
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;
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.