-
Thread
Polling Interrupt mit Taster
prüfen muss, was Zeit kostet (und ISR blocken im Allgemeinen den MC komplett), oder per Hardware entprellen muss (RC Kombination oder so was) oder eben doch mittels Timer den Taster regelmässig pollen und dort Prellen eliminiert.
Stefan U. schrieb im Beitrag #4225238: > Entprellen mit Kondensator ist heutzutage anscheinend uncool. Es sind eben 3 Bauteile mehr (je Gerät und je Taster), die man durch einige Zeilen Code problemlos ersetzen kann. Und Code hat den Charme,
-
Thread
Taster Enprellung nur EINEN Taster
Wieso per SW entprellen? Kondensator zwischen Taster und GND. Fertig. Wo ist das Problem ?
Antworten...das geht ja echt fix hier!! Schmierwurst schrieb im Beitrag #2911514: > 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
-
Thread
Kleine Chinataster allesamt Scheisse?
, wie möglich erfasst (z.B. mit der Input-Capture Funktion) - und dann wartet der µC, bis die Taste über einige ms-Interrupts wieder inaktiven Pegel hat. Ansonsten ist ein Taster mit ETWAS Qualität + gute Entprell-Routine natürlich die einfachere Lösung.
Thema "Taster und Entprellen" wird viel gemutmaßt und wild behauptet. Sollen die Fliegen doch weiter auf dem dogmatischen Haufen sitzen und ihre Götter anbeten.
-
Thread
Tasterentprellen - nur für Nerds? Gesperrt
Wieviele Programmierer braucht man um einen Taster zu entprellen?
Schon mal was von Coroutinen gehört? Verwendest Du diese tatsächlich auf einem AVR zum simplen Tasten-Entprellen? Hut ab! Mit Elefanten auf Mücken schießen ist echte Kunst! Zum Nachlesen: https://en.cppreference.com/w/cpp/language/coroutines Dynamic Allocation zum Tasten-Entprellen? Wirklich
-
Thread
Debounce-Makro von Peter Dannegger - MSP430
verstehen... Ja, eben. Zuerst wirst du frech und dann kommt heraus, daß du die Logik hinter dem Entprellen von Tasten nicht verstehst - UND daß du dies auch mit der größten Selbstverständlichkeit der Welt sagst ohne dich zu schämen. Das Entprellen von Tasten ist doch wirklich kein unendlich schwer
sein müssen, hängt von deinem Polling-Intervall ab. Für das schiere Entprellen reichen 20..30 ms aus, das macht bei 10 ms Polling-Intervall einen Startwert von 2..3. Die Werte für's Repetieren rechnest du dir selber aus. So. jetzt solltest du das Entprellen von Tasten verstanden
-
Thread
taster über analogeingang abfragen
andreas vielen Dank für Deine Bemühungen aber ich verstehe es nicht . Ich dachte ich muss nur entprellen wenn der Taster oder Schalter direkt eine Aktion bewirkt wenn ich aber doch den Widerstand/Spannung messe dann ist es doch egal wieviele male der Schalter/Taster vorher flakkert ich muss nur den
> > vielen Dank für Deine Bemühungen aber ich verstehe es nicht . Ich dachte > ich muss nur entprellen wenn der Taster oder Schalter direkt eine Aktion > bewirkt wenn ich aber doch den Widerstand/Spannung messe dann ist es > doch egal wieviele male der Schalter/Taster vorher flakkert ich muss nur
-
Thread
Was spricht für eine Entprellung mit Hardware?
einem Timer (der nebenher noch andere Dinge takten bzw. synchronisieren kann) kann bedeutend mehr Taster entprellen, als über die Pins an den Mikrocontroller angeschlossen werden können. Bei vielen Tastern nimmt man eh eine Matrix, die man natürlich auch in Software entprellen kann/muss/sollte. Selbst das Entprellen von über Schieberegisterketten eingelesener Taster ist in Software absolut kein Problem und kostet kaum Ressourcen, wenn man es richtig macht. ...
-
Thread
Mit Hardware entprellen
Das Entprellen von Tastern ist keine Raketenwissenschaft. Aber schau mal nach, wie teuer echte prellfreie Taster (mit Elektronik) sind! Dash hier: https://www.conrad.de/de/drucktaster-50-v-dcac-0025-a-1-
schrieb im Beitrag #5396395: > welchen Hintergrund hat diese (mMn krampfhafte) > Vorgehensweise Taster grundsätzlich in Software zu entprellen? Viele "Hardware-Entpreller" schalten den C gern parallel zum Taster. Dadurch wird dieser unnötig mit hohen Strömen belastet, was letztendlich kontraproduktiv
-
Thread
Flankenauswertung bei vielen Tasten
Hallo! Mir ist bekannt, wie ich in C die Flanke für einen Taster auswerten kann und wie ich diesen Entprellen kann. Allerdings bezogen sich diese Ausführungen immer nur auf eine oder zwei Tasten, sodass der Aufwand sich in Grenzen hielt. Nun aber möchte ich 12 Tasten
an den selben > Port anschließen und den ganzen Port entprellen. Richtig. [c] int tasten,gedrueckt; while(1)// die Programm-Hauptschleife { tasten=INPUT_PORT; // 12 Taster auf ein mal, liefern 1 wenn gedrückt (sonst ~PIND) gedrueckt=tasten
-
Thread
Entprellen (kein AVR) Gesperrt
verplempert und außerdem von einer bestimmten CPU Geschwindigkeit ausgeht. Jedes mal, wenn man eine Taste drückt, wird das Hauptprogramm solange angehalten, wie die Kontakte prellen. Je älter die Taster werden, umso länger wird das dauern. Wenn man Tasten entprellen muss, dann fragt man sie in regelmäßigen
using namespace Combie::Pin; using namespace Combie::Timer; using namespace Combie::Millis; TasterGND<2> S1; // Taster zwischen Pin und GND(invertierend) OutputPin<3> OUT1; EntprellTimer entprell { 20_ms}; // Schalter entprellen RisingEdgeTimer ton { 3_sec}; // steigende Flanke
-
Thread
Entprellen mit Kondensator
10kOhm VCC an den Pin ziehen, und den Taster an GND hängen. Jetzt möchte ich diesen Taster mit einem 330nF Kondensator entprellen, der ja zwischen VCC und GND direkt vor dem Pin hängt. Wenn ich jetzt allerdings den internen PullUp verwenden möchte
Nicolas I. schrieb im Beitrag #1959347: > Jetzt möchte ich diesen Taster mit einem 330nF Kondensator entprellen, > der ja zwischen VCC und GND direkt vor dem Pin hängt Wenn ein Kondensator zwischen VCC und GND hängt, dient er offenkundig nicht zum Entprellen. Nicolas
-
Thread
C/C++ Objektmethoden
Klassen sind in der Hinsicht recht vielgesichtig. Alternative zu: > counter = flankenerkennung = entprellen = taster; Dies: counter(flankenerkennung(entprellen(taster()))); Oder: counter.doTrigger(flankenerkennung.doTrigger(entprellen.doTrigger(taster.isHigh()))); Alles das gleiche. Frisst
= entprellen = taster oder > taster.entprellen.flankenerkennung.counter schreibe ist mir echt egal...
-
Thread
Taster als Schalter
einfachste Möglichkeit ist ganz klar ein JK-FF zu nehmen, den J und K Eingang auf Vcc schliessen, und den Taster entprell an den Clock anschliessen. Entprellen würde ich am besten mit einem RC-Glied nach dem Taster, mit einer Zeitkonstante von etwa 5ms. Im Anhang habe ich dir kurz eine solche Schaltung gezeichnet
> Ähm. Und wie symbolisierst du dann einen gedrückten Taster, wenn deine > gespeicherte Sequenz dir das vorschreibt? Das laden hätte ich einem eigenen controller überlassen, der quasi parallel zum taster angeschlossen ist. das entprellen hätte ich mittels
-
Thread
Taster + sehr sehr langes Kabel
Das Stichwort heißt Entprellen: http://www.mikrocontroller.net/topic/6492#new Peter
schon geschrieben haben. Entprellen bzw. mit Optokoppler. Entprellen kann man recht einfach so, und da du einen Interrupt auslösen willst MUSST du mit Hardware entprellen, in Software geht das nicht! [[Schmitt-trigger]] Der
-
Thread
Schalter zu Taster
...es geht nicht ums Entprellen...Ihr verwechselt da was... T.
temperaturabhängig ist, so dass ich einfach den 40106 (0,17 SMD bei R.) nehme, wenn es nur darum geht, Tasten zu entprellen, weil es da nicht so auf präzise definierte Werte ankommt, er leicht verfügbar ist, und bis zu 15V Versorgungsspannung verträgt. Der Vorteil der 74er Typen gegenüber den H(F)C4000er Typen
-
Thread
Tasterabfrage per Interrupt
gibt es zig Beiträge hier im Forum und im Internet. In der Tat: - https://www.google.com/search?q=taster+entprellen+peda
taster2alt=taster2; } [/c] Axel S. schrieb im Beitrag #7816048: > Bruno V. schrieb: >> Das einfachste Entprellen ist übrigens, den Taster nur alle ~60-100ms >> auszulesen. > > Nein. Das ist gar kein
-
Thread
Reihenfolge von Tastern merken Arduino
N. M. schrieb im Beitrag #6963199: > Man könnte ja auch entprellen und sich den Timestamp der Pegelwechsel > (ungefiltert) merken. Mit einem Timestamp ist es noch einfacher: man fragt einfach in jedem Durchlauf ab, ob der Taster x gedrückt ist. Falls nicht, trägt
Elektro F. schrieb im Beitrag #6963334: > Es sind schlussendlich auch keine Taster sondern > Helligkeitstransistoren Je nach Beschaltung, hätten wir uns da aber die ganze Entprell-Geschichte sparen können! ...
-
Thread
C: Zuweisung von 2 Variablen auf einmal
}); } void loop() { counter = flankenerkennung = entprellen = taster; } [/c]
Arduino Fanboy D. schrieb im Beitrag #6694693: > counter = flankenerkennung = entprellen = taster; Wie weist man einen TasterGND einem EntprellTimer zu? Wie weist man einen EntprellTimer einer FlankenErkennung zu? Und wie weist man eine Flankenerkennung einem Counter zu? Du hast hier
-
Thread
kein definiertes Verhalten in der ISR
Taster per Interrupt abfragen? Nö! lukker schrieb im Beitrag #6217069: [c] __interrupt void P2_ISR() { Entprell(); [/c] Irgendwelche Funktionen (die womöglich auch noch auf irgendwas warten
STK500-Besitzer schrieb im Beitrag #6217104: > Taster per Interrupt abfragen? Nö! > > lukker schrieb: __interrupt void P2_ISR() > { > Entprell(); > Hab ich auch gleich gedacht. Entprellen in einer Interrupt-Funktion? Da würde ich doch lieber
-
Thread
Einfache Rechenfunktion mit Atmega8
Stefan U. schrieb im Beitrag #4996044: > Schalte paralle zu deinen Tastern jeweils einen 47nF Kondensator. Sorry lieber Stefan das ist absoluter Murks. Elektrisch Entprellen wird man mit einem RC-Glied und einem "Entladewiderstand" am Taster um den Strom zu begrenzen
Ostap A. schrieb im Beitrag #4997293: > Wie kann ich den als Anfänger einen Taster entprellen ohne diesen > "langen" Code zu verwenden? Verplempere Zeit. Lies die Taster ein und dann verplemterst du in einer Warteschleife z.B. 100ms. Und dann liest du wieder ein. Wenn die Pegel
-
Thread
Tastenentprellung läuft nicht
Folgendes klappt schon mal fehlerfrei; int main(void) { ... // div.Deklarationen if ((ENTPRELL (PINB, PB2)) == 1) Sprung = 1; // Taste_gn, Flanke ansteigend if ((ENTPRELL (PINB, PB2)) == 2) Sprung = 2; // Taste_gn, Flanke abfallend if ((ENTPRELL (PINB, PB1)) == 1) Sprung = 3; // Taste_rt,
__Son´s B. schrieb im Beitrag #5402313: > if ((ENTPRELL (PINB, PB2)) == 1) Sprung = 1; // Taste_gn, Flanke > ansteigend > if ((ENTPRELL (PINB, PB2)) == 2) Sprung = 2; // Taste_gn, Flanke > abfallend Du hast das Makro immer noch nicht verstanden,
-
Thread
Tasten-Matrix entprellen
Diesmal ist das Programm in C geschrieben. Sie funktioniert im Prinzip genau so, wie die 8-Tasten-Routine. D.h. das Entprellen erfolgt durch Vergleich zweier aufeinanderfolgender Tastenzustände. Auch das gleichzeitige Drücken mehrerer Tasten wird unterstützt, um z.B. Shift-Tasten zu realisieren
genauer erklären, wie das zustande > kommt? Mal die Schaltung einer 2 * 2 Matrix auf und drücke 3 Tasten. Dann wird auch die 4. Taste als gedrückt erkannt, da die 3 Tasten den Stromkreis dafür schließen. Hat jede Taste eine Diode in Reihe, werden nur die 3 Tasten gemeldet, die wirklich gedrückt sind.
-
Thread
Mehr als zwei externe Interrupts
nur zum Wechen braucht, schaltet man vor dem "sleep" alle Tasten-Portpins auf Low. Dann können alle Tasten den "Weck-Interrupt" auslösen. Anschließend schaltet man auf Timergestütztes Polling um, wobei das Entprellen auch gleich miterledigt wird. Außer den Tastern
Scheinbar ist der nach euren Aussagen zu nichts zu > gebrauchen?! ;-) Doch, nur nicht zum Entprellen von Tastern und Schaltern, das geht anders besser, komfortabler und billiger. ...
-
Thread
entprellen professionell?!
Ich würde das Entprellen von ein paar Tastern nicht gerade anspruchsvoll und zeitaufwändig nennen, aber das hängt wahrscheinlich vom Knowhow des Programmieres ab. Alle 5ms den Zustand der Taster abzufragen und zu 'verarbeiten
daß das Drücken der Taster und nicht das Loslassen eine Aktion auslösen soll. Versuche doch einmal, nur 4 Taster nach Deinem Verfahren zu entprellen, wobei ich voraussetze, daß diese auch gleichzeitig gedrückt werden können
-
Thread
Entprellen mit Sam µC
wenn es mehr als 16 Tasten sind, einen 32 oder 64Bit Wert. Elektrotiger schrieb im Beitrag #4282637: > Ich dachte, dass ich durch die Priorisierung der Interrupts das > Entprellen von Tasten seperieren kann. Der Mensch
{ if (Old) --Old; } // entprellen .. so etwa und fertig. Wie man das per Schleife auf N Tasten erwitert, sei dir überlassen. W.S.
-
Thread
Entprellen Flankenerkennung
habe schon einige alte Beiträge zu diesem thema gelesen. bin Anfänger wie sich sicherlich versteht. Das kritische scheint zu sein: Die Entprellung geschieht dabei durch die ganze Laufzeit des Programms. für kurze Laufzeiten benötigt man evtl ein delay, bei langen laufzeiten wird ein Drücken verschluckt. Es war aber für mich persönlich die am einfachsten zu verstehende routine, zumal ich kein AVR habe und es mich überfordert, die anderen routinen auf meine Plattform anzupassen. Was würdet ihr mir empfehlen?
-
Thread
entprellen.bekomme es nicht richtig hin.
Hallo, ich versuche jetzt seit ca ner stunde eine led mit einem taster zu schalten. der taster soll als schalter fungieren! ich möchte den taster software mäßig entprellen! hier mein code: [c] /* * test.c * */ #define F_CPU 125000 #include <avr\io.h
zustand==0&&(!(TASTERPORT & (1<<TASTERBIT)))==1; schreiben. Zum Entprellen benötigst du eine Zeitverzögerung. So einfach kann Entprellen eines (bis 8) Tastern sein (ohne Initialisierung): uint8_t tasten,gedrueckt; while(1)// die Programm-Hauptschleife {
-
Thread
D-Flipflop verhält sich komisch
Gut, also zusammenfassend: -Taster entprellen ist wichtig -Pulldown widerstände für R und I -S mit GND verbinden (sowie alle anderen nicht benutzten Inputs) -Entkoppelkondensator Das mit dem Entprellen scheint erledigt zu sein
Schaltplan ist genau der aus der Anleitung zum Entprellen, also der hier:http://www.mikrocontroller.net/wikifiles/f/f8/RC_debouncer.png Wirklich genau gleich, nur 9,3 kOhm statt 10 kOhm. Habe diesen Schaltplan 4 mal parallele gebaut um 4 Taster zu entprellen
-
Thread
Universelle Tastenabfrage
Unter "Tasten entprellen - Bulletproof" ist eine zuverlässige Entprellung und gedrückt Erkennung für 1 .. 8 Tasten beschrieben. Aber oftmals will man Tasten sparen, indem man unterschiedliche Aktionen bei kurzem
Ich entprelle 4 tasten mit Peters Routine. Allerdings schaffe ich es nicht, mehr als eine Taste gleichzeitig erkannt zu bekommen obwohl ich zwei nebeneinander liegende Tasten praktisch mit einem Finger betätige
-
Thread
Schalter einlesen Entprellen notwendig (kein Taster)
Beitrag #2850883: > Sorry, Leute, das ich da widerspreche... einen mechanischen Schalter, ob > Taster, Schützkontakt oder sonstwas ist immer zu entprellen. Auch ich muss da klar widersprechen. Nur wenn ein Taster/Schalter einen /Schritt/ auslöst, der nicht einfach wieder rückgängig gemacht werden
der Taster, also so 10msec) dann siehst du kein Prellen und musst nicht entprellen. Erfasst du die Tasten schneller UND zählst Tastendrücke, wie oft sie also von 1 auf 0 geht, dann musst du entprellen.
-
Thread
Tastenentprellung
im Hintergrund und benötigt dabei zum Entprellen von 8 Tasten weit weniger als 1% der Rechenleistung eines AVRs. Beispiele sind hier zu finden: [[Entprellung]] ...
erkannt wird (hat man Störimpulse auf den Leitungen hat man aber ganz andere größere Probleme), nur die Taste entprellt wird und das Zeitfenster fest eingestellt ist. Der Schwachpunkt der Methode aus dem Artikel ist, dass die Taste eine sehr hohe Verzögerung hat (je nachdem wie lange man entprellen will),
-
Thread
Tastaturmatrix entprellen
wird. Kann ich dieses Ding über Software entprellen oder funktioniert das nicht? Die Interrupts schalte ich sofort nach dem Aufruf aus, was aber nur das setzten weiterer Int´s verhindert, nicht aber das Prellen der einzelnen Tasten. Wie erledigt
@Peter: Mein Link bezieht sich auf 'entprellen'. Anstelle PortA nach 'temp' zu laden, muß die Matrix in einen 16-Bit-Wert eingelesen werden. Damit alle Tasten entprellt werden ist 'temp' auf 'short' zu erweitern: max_bits = 16.
-
Thread
C-Funktion zum Entprellen eines Anfängers
Bitte zerlegen, verbessern und kritisieren. [c] int Entpreller(int Pin); // Entprellfunktion einbinden #define Taster PORTEbits.RE2 //Taster definieren int TasterBit =0; // Bei Beginn wird der Taster als nicht geschaltet angenommen, besser Lösung?
int Entpreller(int Pin) // Der Tasterwert wird in Pin übernommen { int Kontrolllauf=1; do //Do -While solange Kontrolllauf kleiner 5 { if(Pin==TasterBit) // Wenn Taster und Bit gleich
-
Thread
Taster debouncen
Suche mal nach "Taster entprellen".
etwas zu begreifen! Einen Taster auszuwerten bzw. zu entprellen ist mit etwas Überlegung und Probierfreudigkeit aus eigener Kraft zu realisieren. Für weniger ambitionierte gibt es fertigen Code mit ausreichender Dokumentation zu
-
Thread
Fortlaufender Zähler in C
Ach ja - du darfst auf keinen Fall vergessen, deinen Taster zu entprellen. Sonst zählt er ab und zu X * 10 (also 20 oder 30 ...) dazu.
Michael schrieb im Beitrag #2297884: > Wenn (Taste kurz gedrückt) // Entprellung nicht vergessen mit: Wenn (Taste kurz gedrückt)&(counter==0) Counter += 10; könnte man sich die Entprellung sparen, da dann der eigene Timer das Entprellen übenimmt
-
Thread
Taster mit D-Flipflop entprellen?
Paul, vielleicht findest du ja auch einen ordentlichen Taster, der nicht so doll prellt. Dann klappts ohne Entprell-FF.
@ Tobias Plüss (hubertus) >Paul, vielleicht findest du ja auch einen ordentlichen Taster, der nicht >so doll prellt. Dann klappts ohne Entprell-FF. Nein! Digitale ICs sind tausend mal scheller als der schnellste Taster. Das wird ein Murkslösung. MFG Falk
-
Thread
aus Taster einen Schalter machen
Schaltgeschwindigkeit oder Isolationsspannung ankommt, tun es einfache PC357 für ein paar Cent. Bei der Anzahl an Tastern läuft die beste Lösung also wohl darauf hinaus, daß Du mit einem Mikrocontroller selbst eine Matrixschaltung aufbaust um Deine Tasten auszulesen. Das Halten des Ein/Aus-Zustandes und das Entprellen
Mikrocontroller nicht ausreichen, könntest Du auch mit Flipflop-Logikgatter und Kondensator zum Entprellen eine Schaltung für einen Taster entwickeln und das dann 100x aufbauen.
-
Thread
Entprellschaltung entlädt Kondensator nicht?
Aufgaben auf ihn warten Ein Erwachsener braucht typisch 300ms zum Drücken und 300ms zum Loslassen. Tasten abfragen/entprellen ist also in keinster Weise zeitkritisch (<1% CPU-Last).
auf: [c] : : // Und hier das tun, was sonst noch zu tun ist. if (tiAkt>tiEntprell) { // Zeit für nächsten Aufruf der Entprellung? tiEntprell=tiAkt+700; // nächsten Zeitpunkt ausrechnen TastenEntprellen(); // Entprellroutine vom PeDa aufrufen }
-
Thread
muss man unbedingt entprellen?
Man darf Entprellen nicht mit Störfestigkeit in einen Topf werfen. Wenn man Tasten nur selten abfragt, so ca. alle 200ms, und es nicht auf den exakten Zeitpunkt des Tastens ankommt, spielt das Prellen praktisch keine
Ich bin immer wieder fasziniert über die ESD Störimpuls Diskussionen in diesen "Entprell"-Threads :-) Für mich ist das ganz einfach.... a) Es gibt Tasten, da braucht man das... b) Es gibt Tasten, da braucht man das nicht... Beispiel für a) sind alle Tasten, wo es einen Weg von
-
Thread
Danneggers Entprellroutine im AVR benutzen
Aufgabenstellungen, in denen du ohne Entprellung bzw. Tastenrepeat auskommst. Anstatt eine LED mit nur einem Taster ein und aus zu schalten, kann man das ja auch mit 2 Tastern machen. Der eine schaltet ein, der andere schaltet aus. Dazu muss man nichts entprellen. > Nachdem, was ich im Arduino-Bereich gelesen
dem Arduino hinbekommen. > Als totalen Anfängercode zum Auswerten und Entprellen mit einem > Arduino-Sketch kann ich Dir das anbieten: Entprellen mit delay für > mehrere gleichzeitig ausgewertete Taster. Einmal pro loop-Umlauf wird am > Ende der loop ein kleines delay von
-
Thread
Arduino UNO | IF Schleife |
LSB umschalten tiBlinken1 = tiAkt +500; // nächste Aktion in 500ms } } // Taster 2 if (digitalRead(Taster2) == HIGH) // Taster 2 nicht betätigt tiEntprelle1 = tiAkt+20; if (tiAkt>tiEntprelle2) { // Timeout => Taster 2 min. 10ms betätigt tiBlinken2 = tiAkt
== HIGH) { // Taster 1 nicht betätigt tiEntprelle1 = tiAkt+20; Taste1Alt = HIGH; } if (tiAkt>tiEntprelle1) { // Timout => Taster 1 min. 10ms betätigt if (Taste1Alt==HIGH) { // Flanke
-
Thread
Taster Softwaretechnisch entprellen
du deinen Code eben besser organisieren. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
Na mit Warteschleifen. Warscheinlich stellen sich sogar dem Taster die Nackenhaare auf... doch Gast
-
Thread
Zu großer Kondensator - PortPin defekt
Habe zum Taster (active low) entprellen verschiedene Kondensatoren (von 22pF bis 1uF) zwischen GND und Portpin (interner Pullup aktiviert) eines AVR angeschlossen. Der 1uF Elko war am besten geeignet um sehr kurze
Schalter. Das macht man seit X-Zeiten so. Du meinst also, daß ich in einer PC Tastatur mit 105 Tasten 105 Kondensatoren zum Entprellen finden werde? MfG Klaus
-
Thread
Entprellen Wechselschalter/Taster
Hallo zusammen, ich möchte an meinen µC einen Taster entprellt anschließen. Da der Taster auf einen PinChange Interrupt geht und ich noch einen anderen Interrupt (Timer) laufen habe, möchte/muss ich den Taster hardwareseitig entprellen. Mangels Bauteilen
Du hast sicherlich sowieso Taster um die Uhr einzustellen, die dann mit PeDas Routine entprellen und einen zusätzlichen Taster (eventuell versenkt) für den Reset Deiner Uhr einbauen. Spart viel Arbeit/Bauteile und ist sinnvoller.
-
Thread
Entprellen für Anfänger
Probier einfach mal das gleiche zu erreichen, wie mein Beispielcode: Du hast 2 Tasten und 2 LEDs. Jede Taste muß ihre LED umschalten, egal wie lange gedrückt wird und ob die andere Taste gedrückt ist. Das wirst Du mit Deinem Delay nicht schaffen. Delay und Entprellen sind 2 völlig
Ich weis ja nicht warum immer no ein Umstand für getrieben wird einen Taster zu entprellen... das geht mit nem Widerstand und einem Kondesnator deutlich einfacher :-)
-
Thread
IC 4017 Decade Counter, Frage zu Bauteil Kondensator
nicht. Es gibt ihn auch mit 2*6 Stufen. Wenn Du den Aufwand nicht scheust geht es auch mit Taster und 4017. Die weniger anfällige Variante für den Einsatz im Auto ist der Drehschalter. ...obwohl, der Taster ist schon sehr schön.?
zwischenschalten müsste.. Bei einer Entprellung nur mit einer RC-Kombination benötigt man einen Taster mit Wechslerkontakt. https://www.mikrocontroller.net/articles/Datei:WechselEntprellC.PNG Mit Schmittrigger reicht ein einfacher Taster: https://www.mikrocontroller.net/articles/Datei:RC_debouncer.png
-
Thread
Externes Interrupt / Led mit Taster ein-u. ausschalten
OK --> Manchmal realisiert er den Tastendruck nicht. Funktionen für das Entprellen habe ich bereits in meinem Code drin (taster_was_pressed und taster_was_pressed2()). Die Taster_was_pressed- methode geht jedoch nicht, sie funktionert aber in einen anderen Programm tadellos.
Timer nicht benutzen darfst, delay nicht erlaubt ist, dann gibt es keine Software-Lösung für das Entprell-Problem. Bist du sicher, dass du Entprellen überhaupt behandeln musst? Denn Entprellen macht das Problem schweirig. Kann man Entprellen ignorieren (was in Produktionscode natürlich unsinnig ist
-
Thread
Schalter entprellen
20 entprellte Zustände pro Sekunde einlesen. Das reicht, um sogar schnelles "DoubleClick", also Taster 2x kurz hintereinander gedrückt (sozusagen DoublePress) sicher zu identifizieren. [c] // Pin einlesen und entprellen. // Das '& 1' ist nur symbolisch byte iBit0 = digitalRead
Pin-Abfrage mit Entprellung einbauen. Ist ganz easy und funzt sofort. Wenn du mehr als nur entprellen willst, z.B. 'Doppelter Tasterdruck' oder 'Taster gedrückt gehalten' erkennen willst, musst du sehr viel tiefer in die Materie gehen. Meine Sourcen, nach viel rumprobieren (und überlegen, wie ich
-
Thread
AVR ATtiny25 Impulslängenmessung
und zwar per INT0. INT0 ist fest dem > PB2 zugeordnet. Damit wären wir auch schon beim Thema Entprellen. Beim direkten Auswerten eines Taster per Interrupt gibt es wegen des Tastenprellens bei jedem Schalten einen ganzen Haufen von Interruptereignissen, die man filtern muß, bevor man damit irgendetwas sinnvoll steuern kann. http://www.mikrocontroller.net/topic/tasten-entprellen-bulletproof
-
Thread
ESP8266 mit PCF8574 und Taster - Interrupt vom PCF "spinnt"?
formuliert. Ich versuche es nochmal: Frage 1: Welchen Zweck haben die Kondensatoren an den Taster-Eingängen? a) Schutz gegen Radiowellen b) Kontakt entprellen c) ________________________ (bitte ausfüllen) Frage 2: Wie lange wechselt dein Interrupt-Signal nach Betätigung des Tasters wild
F. schrieb im Beitrag #6229074: > Frage 1: > > Welchen Zweck haben die Kondensatoren an den Taster-Eingängen? > > a) Schutz gegen Radiowellen > b) Kontakt entprellen Schutz und Entstörung langer Leitungen. Stefan ⛄ F. schrieb im Beitrag #6229074: > Frage 2: > > Wie lange wechselt dein