Hallo an alle, ich habe eine Software mit C geschrieben, wo durch 12 kapazitive Tasten, am Ausgang LED´s steuert(Taste1()==1 -> LED1 =1 uw…) Wie bei den üblichen Tasten das Problem ist, soll dies durch Software Entprellung verbessert werden. Hierfür habe ich einen Code geschrieben, wo ich mir aber nicht sicher bin ob dies soweit richtig funktionieren würde! Für einige Tipps oder Verbesserungsvorschläge wäre echt sehr hilfreich. Mfg Als Anhang das C-Code
ich habe mich nun nicht durch dein Programm gehangelt. Du könntest ja auch die Funktionsweise grob erklären, aber was mir aufgefallen ist: A)sperre=Taste1(),Taste3(),Taste4(),Taste5(),Taste6(),Taste7(),Taste8(), Taste9(),Taste0(),TasteStern(),TasteRaute(); // Tastenverriegelung geben die Unterprpogramme Taste1-x() alle einen unsigned zurück? Wie soll diese Zuweisung funktionieren? Durch Komma getrennt, kenne ich nicht. Man kann schreiben sperre=Taste1()+Taste2(); oder '-' etc... B) Wo sind die Unterprogramme Taste 3- 9 etc? C) Ich denke es ist einfacher einen Index zu übergeben als 10 Tasten Unterprogramme die zu 90% gleich sind zu schreiben.... JJ
el pistolero schrieb: > Wie bei den üblichen Tasten das Problem ist, soll dies durch Software > Entprellung verbessert werden. Warum, frage ich mich, prellen deine kapazitiven Taster? Was ist dein eigentliches Problem? Was willst du mit dieser "Entprellung" bewerkstelligen?
Hallo Jens, ich habe 12 tasten, habe in dem Programm nur 2 Tasten reinkopiert. Das Prinzip ist ein und dasselbe, auch bei den anderen Tasten1-12 durch Sperre=0 soll verhindert werden, wenn eine TasteX gedrückt worden ist, die anderen Tasten nicht auslösen. Da ich für 12 Tasten einzelne Analogeingänge benutzt habe, keine Matrixform :) So eine Art wie Verriegelung Mfg
Lothar Miller schrieb: > el pistolero schrieb: >> Wie bei den üblichen Tasten das Problem ist, soll dies durch Software >> Entprellung verbessert werden. > Warum, frage ich mich, prellen deine kapazitiven Taster? > > Was ist dein eigentliches Problem? Was willst du mit dieser > "Entprellung" bewerkstelligen? Hallo Lothar, am Ausgang Flackern die LED´s wenn ich eine Taste drücke. Die impulse sollen dadurch auf 100ms verlängert werden, bzw. eine Taste soll 100ms betätigt werden damit eine LED überhaupt an geht. Mfg
Vieleicht kannst du uns den Typ der Taster sagen oder wenn selbstgebaut beschreiben wie. Denn kapazitive Taster haben keinen mechanischen Kontakt der beim Schalten durch elastisches Nachfedern prellt.
Hallo, dieses Verfahren arbeitet durch eine bestimmte Betätigungskraft. Eine Kupferfläche auf der Platine stellt die eine Platte einer Kondensator und eine Aluplatte die zweite Platte der Kondensator dar. Zwischen Platine und Aluplatte ist eine nichtleitende Abstandshalter eingebaut. Durch Betätigen auf die Aluplatte ändert sich der Abstand (d) und dadurch auch die kapazität.
el pistolero schrieb: > am Ausgang Flackern die LED´s wenn ich eine Taste drücke. ... Diese Aufgabenstellung hat rein gar nichts mit "Entprellen" zu tun. > Durch Betätigen auf die Aluplatte ändert sich der Abstand (d) und > dadurch auch die kapazität. Und wer wertet das wie aus? Und dann btte noch den Rest der Information: uC? Taster? Schaltplan? BTW: >>> Angehängte Dateien: Entprellung.txt <<< Häng C-Sourcecode bitte als *.c Datei an. Stichwort: Syntax-Highlighting...
el pistolero schrieb: > Zwischen > Platine und Aluplatte ist eine nichtleitende Abstandshalter eingebaut. > Durch Betätigen auf die Aluplatte ändert sich der Abstand (d) und > dadurch auch die kapazität. Ja und, dahinter brauchst du eine Auswerteelektronik, und wenn die eine Hysterese hat, dann prellt da nichts. Was ist dein eigentliches Problem?
Hallo, der Mikrocontroller ist von Microchip PIC18LF45k22 Die Tasten sind an einem Analogeingang angeschlossen. Der Interne Sample&Hold Kondensator wird über die Referenzspannung aufgeladen. Anschließend wird der Sensor(kapazitiver taster) parallel zur Sample&Hold Kondensator geschaltet(in dem man den jeweiligen Analogeingang als Eingang wählt TRISx =1). Die spannung was auf dem sensor liegt wird durch den AD-Wandler ausgewertet. CVD Verfahren von Microchip Mfg
el pistolero schrieb: > Die spannung was auf dem sensor liegt wird durch den AD-Wandler > ausgewertet. CVD Verfahren von Microchip Und was blinkt da dann? Jetzt fällt es mir wie Schuppen aus den Haaren, dieser Thread gehört zu dem da: Beitrag "Tastenverriegelung (Tastensperre)"
Lothar Miller schrieb: > el pistolero schrieb: >> Die spannung was auf dem sensor liegt wird durch den AD-Wandler >> ausgewertet. CVD Verfahren von Microchip > Und was blinkt da dann? > > > Jetzt fällt es mir wie Schuppen aus den Haaren, dieser Thread gehört zu > dem da: Beitrag "Tastenverriegelung (Tastensperre)" Hallo, Die Tastenverriegelung wurde mit der "sperre=Taste1()..." gelöst!
Vermutlich muss el pistolero bald wieder die Erkenntnisse seiner mühsamen und selbstaufopfernden Forschung der letzten Woche abliefern.....
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.