www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schalter / Taster


Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe einen Atmega, an dem über eine Stereo Klinkenbuchse zwei
Taster angeschlossen werden. Beim Drücken der Taster soll dann etwas
umgeschaltet werden.
Die Entprellung habe ich so realisiert, das er abfragt ob der Taster
gedrückt wurde, dann umschaltet und bevor er das nächste mal Taster
gedrückt erkennt erstmal erkennen muss das der Taster nicht gedrückt
war (der Taster den ich hatte hat so ekelhaft geprellt....). Der
Zustand muss jeweils zweimal hintereinander gleich sein.
Ich hätte gerne die Möglichkeit außer einem Taster optional Schalter
anzuschließen. Kann ich es irgendwie hinkriegen, dies automatisch zu
erkennen:
Szenario wäre ja:
Taster: nicht gedrückt zu gedrückt -> Umschalten
Schalter: gedrück zu nicht gedrück / nicht gedrückt zu gedrückt ->
Umschalten

Überlegung war nun bei der Erkennung ob der Taster nicht gedrückt ist
die Zeit zu bestimmen und wenn diese x überschreitet davon auszugehen
das es ein Schalter ist und dann beim Wechsel von gedrückt zu nicht
gedrückt umzuschalten. Problematisch wäre dann denke ich nur, wenn
jemand den Taster lange gedrückt hält, aber das könnte man bei meiner
Anwendung auch als Feature interpretieren...
Hat jemand sowas schonmal gemacht, wie zuverlässig ist das? Habe gerade
für die Klinkenbuchse nur Taster da, keine Schalter.
Ich lasse über die Taster die Kanäle eines Gitarrenverstärkers
umschalten, Frequenz des Drückens ist also eigentlich recht niedrig,
nur man sollte als Anwender wenn man darauf rumdrückt immer das gleiche
Verhalten haben und keine Verzögerungen bemerken....

Sammy

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schalte bei der ersten Flanke. Dann ist es egal, ob es sich um einen
Taster oder einen Schalter handelt.
Legst du als Entwickler nicht fest, was man als schaltendes Element
benutzt?
Sonst könntest du auch beide Flanken auswerten - die zweite allerdings
erst, wenn eine gewisse Zeit (n Sekunden) vergangen ist.

Autor: _CH_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich interpretiere aus deiner Problemstellung folgendes Szenario:

Taster:
bei jedem Tastendruck soll der Kanal am Gitarrenverstärker umschalten,
d.h. erste Betätigung Kanal 1, nächste Betätigung Kanal 2, nächste
Betätigung wieder Kanal 1 etc...

Schalter:
Schalterposition 1 -> Kanal 1
Schalterposition 2 -> Kanal 2

Meiner Meinung nach liegst du mit deiner Überlegung schon richtig. Die
erste Flanke auswerten und nach einer bestimmten Zeit nachschauen, ob
eine weitere Flanke gekommen ist:
- wenn nicht  --> Schalter
- wenn Flanke --> Taster

Das dabei auftretende Problem mit dem zu lange gedrückten Taster hast
du auch schon erkannt...

Bastelst du einen "Eigenbaugitarrenverstärker", oder wird ein Amp
ohne Fußleiste modifiziert?

Gruß,
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.