Forum: Mikrocontroller und Digitale Elektronik Taster mit ADC einlesen


von Daniel R. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

mir mangelt es an Pins an meinem ATmega16 und es sollen noch 4 Taster
ran...
Damit nicht jeder Taster einen Pin "frisst" hab ich mir eine
Schaltung überlegt(Anhang).

Somit habe ich vor, den gedrückten Taster über den ADC zu erkennen.

Was meint ihr dazu?


Daniel

von crazy horse (Gast)


Lesenswert?

durchaus üblich und funktioniert auch problemlos. Kannst du noch
vereinfachen, Widerstandskette. Kommt mit insgesamt 4 Widerständen aus.

von Daniel R. (Gast)


Lesenswert?

Kann ich die Spannungsteiler also weglassen?
Wo fällt dann die restliche Spannung ab?

von phagsae (Gast)


Lesenswert?

@Daniel
Gute Idee aber was passiert wenn S1 & S4 Gleichzeitig betätigt werden
?
@crazy horse
Also 1 mehr würd ich schon spendieren.
Es sei denn alle Taster ein ist dann dauer aus.

no bug ... feature :-)

Bleibt dann noch das problem mit dem Tasterprellen.....
( Tretmine )
Duck und weg ..........

von TravelRec. (Gast)


Lesenswert?

Das Prellen der Tasten bekommt man mit ´nem R/C vor dem A/D-pin weg.
Gleichzeitiges Drücken kann man ausschließen, wenn man eine
Widerstandskette nimmt, alle Taster schalten nach Masse und werden mit
dem anderen Pin jeweils zwischen die Kette gelegt. Der dem oberen Ende
der Kette, also dem A/D-Anschluß, nächstgelegene gedrückte Taster
gewinnt, alle weiter unten angeordneten sind damit automatisch in dem
Moment ausgesperrt.

von phagsae (Gast)


Lesenswert?

So können auch beliebige Kombinationen ausgelesen werden:
ich denke crazy horse meinte das auch so.



 +       T        T       T       T
        ---      ---     ---     ---          VCC
       -o o-    -o o-   -o o-   -o o-          +
     |  _ |  | _ | | _ | | _ |   _   |
      -|___|-  -|___|- -|___|- -|___|- -|___|-
     |                                |
    === 16k       8k     4k      2k   |   1k
    GND                               |
                                      |
                                      |
                                      |

                                      ADC




created by Andy´s ASCII-Circuit v1.22.310103 Beta www.tech-chat.de

von Daniel R. (Gast)


Lesenswert?

Vielen Dank für Eure Hilfe...
Das hört sich gut an, doch leider kann ich der Zeichnung von phagsae
nicht ganz folgen...Die Taster verwirren mich ein wenig.
Seh ich das richtig, dass nach jedem Widerstand(also links davon)
einfach ein Taster auf Masse schaltet?

von johnny.m (Gast)


Lesenswert?

Jeder Taster brückt genau einen der Widerstände des Teilers (Die werden
nicht auf Masse gezogen, außer bei dem Taster ganz links!). Du kriegst
also auch beim Drücken mehrerer Taster für jede Kombination einen
anderen Spannungswert am ADC-Eingang.

von Wolfram (Gast)


Lesenswert?

nein jeder taster kann einen Widerstand brücken

von Rahul (Gast)


Lesenswert?

Durch die Taster werden die Widerstände (mit unterschiedlichen Werten!)
gebrückt.
Du kannst die 16 Möglichkeiten mit einer Wertetabelle
(Excel...)ausprobieren...

So funktionieren auch Widerstandsdekaden...

von Daniel R. (Gast)


Lesenswert?

Achsooo....ok, alles klar.

von Rolf Magnus (Gast)


Lesenswert?

> Das Prellen der Tasten bekommt man mit ´nem R/C vor dem A/D-pin
> weg.

Das bringt aber auch nicht viel, oder? Man muß trotzdem so oft messen,
bis sich der Wert stabilisiert hat.

von TravelRec. (Gast)


Lesenswert?

Naja, wenigstens die vielen "auf-zu"-Preller vom Taster bekommt man so
gebügelt. Zunächst bekommt der A/D (bzw. das Programm) mit, daß sich der
Wert um einen Betrag x geändert hat. Bei der nächsten Abfrage (bspw. im
50ms Takt, je nach R/C) ist der Wert dann stabil. 2-3 Abfragen sind
sicher drin, um einen Widerstand sicher zu detektieren. Ein
Softwarefilter prüft die eingehenden Werte dann mit gewisser Toleranz
auf Plausibilität. Ohne R/C hingegen bekommt man im ungünstigsten Fall
etliche Millisekunden lang -zig Spannungssprünge um mehrere Volt, die
man überhaupt nicht vernünftig auswerten kann. Sicher kann man auch
hier im Programm warten, bis das "Rauschen" zur Ruhe gekommen ist,
aber das ist dann doch etwas unsicher, gerade bei älteren Tasten oder
in rauher Umgebung (Staub, Feuchtigkeit, Störfelder).

von Daniel R. (Gast)


Lesenswert?

Das ist wohl wahr...Ein RC muss auf alle Fälle hin.
Der Rest unterscheidet sich ja nicht viel vom Einlesen eines Tasters an
einem I/O Pin.

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.