Forum: Projekte & Code Taster Enprellung nur EINEN Taster


von Matthias W. (misterpi)


Lesenswert?

Hallo!

Ich bin auf der Suche nach einer Entprell-Routine für Taster auf die von 
Peter Danneger gestoßen. Funktioniert auch spitze...vielen Dank schonmal 
dafür!
Ok, ich geb's zu, die Code habe ich noch nicht vollständig 
nachvollzogen, aber vielleicht hat jemand sich folgende Frage ebenfalls 
gestellt:
Lässt sich der Code auch auf die Entprellung eines Pins verkleinern?

Ist ja soweit ich verstanden habe für einen kompletten Port. Ich habe 
leider nicht mehr so viele freie Pins zur Verfügung und einen größeren 
Controller zu nehmen fällt auch aus...
Habe leider dazu über die Suchfunktion nix gefunden...oder sehe ich den 
Wald vor lauter Bäumen nicht?
Oder sollte ich mir einfach die Code mal genauer anschauen ;).

Würde mich sehr über einen Hinweis freuen...vielen Dank und Grüße,
mr.pi

von Schmierwurst (Gast)


Lesenswert?

Wieso per SW entprellen? Kondensator zwischen Taster und GND. Fertig. Wo 
ist das Problem ?

von Alexander F. (alexf91)


Lesenswert?

Matthias W. schrieb:
> Lässt sich der Code auch auf die Entprellung eines Pins verkleinern?

Wenn ich mir den Code so ansehe, würde ich zu nein tendieren. Kleiner 
kann man so eine Routine wohl nicht mehr implementieren ;)

Dein restliches Programm bietet mit Sicherheit mehr 
Optimierungspotential als die Tastenentprellung.

von urps (Gast)


Lesenswert?

Schmierwurst schrieb:
> Kondensator zwischen Taster und GND. Fertig. Wo ist das Problem ?

Das Problem ensteht beim Schließen des Tasters, wenn der Kurzschlußstrom 
bei der ziemlich schlagartigen Entladung des Kondensators die Kontakte 
verbrutzelt. Das geht auf die Kontaktlebensdauer und den 
Übergangswiderstand.

von Peter D. (peda)


Lesenswert?

Matthias W. schrieb:
> Lässt sich der Code auch auf die Entprellung eines Pins verkleinern?

Es besteht kein Grund dazu.
Es stört nicht, daß die anderen Pins des Ports auch entprellt werden. 
Man ruft die Abfragefunktionen ja nur für die Pins auf, die einen 
interessieren.

Ich benutze sie auch auf dem ATtiny13.


Peter

von Matthias W. (misterpi)


Lesenswert?

Hey, vielen Dank erstmal für die Antworten...das geht ja echt fix hier!!

Schmierwurst schrieb:
> Wieso per SW entprellen? Kondensator zwischen Taster und GND. Fertig. Wo
> ist das Problem ?

Na ja, macht für mich wenig Sinn, da ich zusätzlich zum Entprellen die 
Zeit "Taster gedrückt" auswerten will. D.h. ein Timer Interrupt muss eh 
her und wieso dann dieses nicht gleich auch zum Entprellen nutzen.

Peter Dannegger schrieb:
> Es besteht kein Grund dazu.
> Es stört nicht, daß die anderen Pins des Ports auch entprellt werden.
> Man ruft die Abfragefunktionen ja nur für die Pins auf, die einen
> interessieren.

Das klingt logisch. Ich werde mich auch die Tage mal dransetzen und 
versuchen den Code nachzuvollziehen...
Vielleicht dennoch kurze Rückfrage, um auf Nummer sicher zu gehen:
Können also am gleichen Port sowohl der/die Taster als Input als auch 
die z.B. LEDs als Ausgänge hängen?
Vielen Dank für die Info!
Grüße
pi

von Bernhard M. (boregard)


Lesenswert?

Matthias W. schrieb:
> Können also am gleichen Port sowohl der/die Taster als Input als auch
> die z.B. LEDs als Ausgänge hängen?

Ja, das geht problemlos.

von Matthias W. (misterpi)


Lesenswert?

Dann ist ja alles gut.
Vielen Dank euch allen!

pi

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.