was wuerdet ihr mir empfehlen, das per Hardware oder per Software zu realisieren? Hardware haette ich die benoetigte eh rumfliegen...
Eleganter ist meiner Meinung nach die Variante per Software. In der Codesammlung gibt es eine gute Variante von Peter Dannegger. Alex
Nach meinen Erfahrungen ist es viel eleganter beide Lösungen zu kombinieren. Das heisst - eine Kapazität einsetzen und was unkompliziertes mit Software zu schaffen. Ohne Kapazität geht's manchmal mit den besten Software-Lösungen nicht.
Ich finde eine reine Softwarelösung am besten. Dazu wird ein Timer programmiert, der jede 50-100ms den Taster abfragt.
Und wenn die Taste oft genug prellt (ich hab schon so was erlebt), dann arbeiten die ganz schön gemeinsam ;)
@Aleksej "Und wenn die Taste oft genug prellt" Dann nimmt man eben die 4-fach-Entprellung (bulletproof), da ist garantiert alles sauber, ganz ohne jede Hardware. Peter
@peter dannegger: Ich hab's schon was ähnliches gemacht - es wurde gewartet bis man 5mal hintereinander eine 1 hatte, aber es hat nicht geholfen. Umd mit dem Kondensator reichte schon eine wiederholte Abfrage vollkommend aus. Ich glaube, das lohnt sich auf jeden Fall
Ich habe die Taster gegen + geschaltet, also zwischen + und dem Taster? Welchen Wert fuer den Kondensator wuerdet ihr fuer die Reichelt Taster benutzen?
wenn du die reichelt-taster für 12(oder warens 2?)cent meinst, musst du bestimmt nen sehr großen kondensator nehmen. das sind die prellendsten taster die ich je erlebt habe! sorry, für diesen unkonstruktiven beitrag, aber ich hasse diese taster wirklich!!!
Ich kenne diese Tasten nicht, aber bei den anderen sollen schon 100nF ausreichend sein. Und auf keinen Fall Elkos, Keramik ist viel besser.
@Aleksej, "Ich hab's schon was ähnliches gemacht - es wurde gewartet bis man 5mal hintereinander eine 1 hatte, aber es hat nicht geholfen." Probier doch meinen Code erstmal aus, ehe Du da was vermutest. Es reicht natürlich nicht aus, 5-mal den Pin abzufragen, das geht ja viel zu fix (dauert nur wenige µs). Der Trick ist eben der Timerinterrupt, d.h. zwischen jeder Abfrage muß auch immer etwa 2ms ... 20ms Zeit vergehen. @Sammy Taster schaltet man üblicher Weise gegen GND, dann spart man den Ziehwiderstand ein, da man den internen Pull-Up nehmen kann. Peter
Hallo sammy! Da ich selbst eine solche Schaltung gebaut habe, schicke ich dir einen Link: http://www.seidat.de/elektronik_zeitschalter.htm Die Software findest du auch in dieser Seite. Allerdings ist hier noch ein Umschaltrelais zwischengeschaltet. Dieses mußt du beim umschreiben der Software berücksichtigen. Das Relais hat auch stark geprellt, deshalb habe ich es 100 mal abgefragt. zusätzlich habe ich einen einfachen Filter aus Widerstand und Kondensator eingesetzt. Die Schaltung funktioniert einwandfrei. Guido
@peter dannegger: 5mal hintereinander - das heisst doch nicht, dass ich es ohne Pausen abgefragt habe. Ich habe die Pausen variiert. Und wenn mal 0 abgefragt wurde, dann hab ich die Reihenfolge nochmal gestartet. Es hat geklappt, aber ein mal pro Hundert Tastendrücke habe ich falsche Werte gekriegt. Mit dem Kondensator klappt es bis zum heutigen Zeitpunkt einwandfrei.
@Aleksej, "ein mal pro Hundert Tastendrücke habe ich falsche Werte gekriegt" Wenn Du mal Deinen Code posten könntest, vielleicht läßt sich dann ein Fehler finden. Manchmal wird nicht berücksichtigt, daß ein Taster auch beim Loslassen prellen kann. Deshalb entprellt mein Code auch das Loslassen. Peter
Wenn ein Taster mach einer Software-Etprellung immer noch prellt, dann stimmt etwas am Code nicht. Den Effekt, den man mit einem Kondensator erreicht, kann man zu 100% auch in Software realisieren. Mit dem Vorteil, dass man damit flexibler ist. Matthias
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.