Arduino programmieren?
Es sollen die Taster S1 und S2 mittels Flankenerkennung eingelesen werden.
Es soll bei beiden Tastern die negative Flanke erkannt werden.
Die Flankenerkennung soll selbst programmiert werden.
Zusätzlich sollen die beiden Taster mittels geeigneter Software entprellt werden.
Funktion S1:
S1 schaltet die Zählrichtung um.
Die Zählrichtung wechselt bei jedem Drücken des Tasters zwischen Aufwärtszählung und
Abwärtszählung.
S2 wird als Zähleingang verwendet. Jeder Tastendruck wird gezählt und in einer Variablen
abgespeichert.
Diese Zählvariable wird "usi_zaehler" benannt und ist vom Datentyp unsigned short integer.
Diese Variable soll nur Werte zwischen 0 und 9 annehmen.
Hat die Variable eine der beiden Grenzen erreicht, so bleibt sie auf dem jeweiligen Wert stehen,
bis wieder ein Richtungswechsel durchgeführt wird.
2 Antworten
Zur Flankenerkennung musst Du vorher merken, wie der Zustand war und entsprechend reagieren. Heißt, du brauchst einen vergleichsmerker, wie der Taster vorher stand und mit "if" überwachen, dass der Status sich zu vorher geändert hat. Anschließend den neuen Status nachführen.
Ich lese die Taster immer am Anfang ein und speichere diese zwischen. Zur Entprellung nehme ich 3ms Delay (falls das Programm zeitunkritisch ist, oder einen Timer mit millis() falls das Programm keine Delay-Verzögerung haben soll, da ja in der Zeit nichts anderes läuft. Zur Nachführung nehme ich pro Taster eine zweite variable, die innerhalb der "if" nachgeführt wird, sowohl in die eine wie auch in die andere Richtung mit "if" nachführen. Somit hast Du immer beide Flanken ausgewertet. Auf die Du reagieren sollst, da kommen weitere Schritte mit rein, oder Unterprogrammaufrufe ect...
Wie weit bist du mit der Aufgabe einen Taster funktionsfähig zum Laufen zu bekommen?
Zurzeit gar nicht begonnen. Der Lehrer hat uns dabei nicht viel gezeigt wie wir es anstellen. Ich bitte um Hilfe, falls dies möglich währe.