Forum: Mikrocontroller und Digitale Elektronik Bauteil gesucht: 4 Taster zu 3 Port


von gringo (Gast)


Lesenswert?

Guten Tag,

Weiss jemand von euch, ob es ein Bauteil gibt welches 4 Taster 
verschachteln kann zu 3 Signalen?

das bedeutet, es kann jeweils nur 1 taster auf einmal gedrückt werden.
somit gäbe es 4 zustände für 4 schalter, +1zustand: kein schalter 
gedrückt, + zustand error: mehrere schalter gedrückt.
somit 6 zustände, was sich auf 3 Bits/Ports ausdrücken liesse...

Falls es kein fertiges Bauteil gibt, müsste ich eine AND/OR Schaltung 
zusammenbasteln.

Danke für die kurzen Tips.

Cheers Gringo

von Karl H. (kbuchegg)


Lesenswert?


von H.Joachim S. (crazyhorse)


Lesenswert?

falls du einen Analogeingang frei hast - nimm eine Widerstandskette.
Einfach, billig, nur 1 Portpin.

von Marcel V. (antis)


Lesenswert?

Falls du nen A/D Port hast, dann kannst du über ein kleines 
Widerstandsnetzwerk deine Schalter in Reihe anklemmen. Brauchst dann 
auch nur einen Pin, an dem du die Spannung misst.

Allerdings kann man dann mehrere Taster drücken und du würdest es nicht 
mitbekommen.

von Marcel V. (antis)


Lesenswert?

zu spät... :-)

von Uwe B. (boerge) Benutzerseite


Lesenswert?

zwar für mehr Eingänge, aber ein 74HC148 (8-zu-3-Encoder) kann 
soetwas...

Uwe

von Falk B. (falk)


Lesenswert?

@  Uwe Berger (boerge) Benutzerseite

>zwar für mehr Eingänge, aber ein 74HC148 (8-zu-3-Encoder) kann
>soetwas...

Der kann aber nur EINE Taste auf einemal erkennen, nicht wenn mehrere 
gleichzeitig gedrückt sind.

MfG
Falk

von Uwe B. (boerge) Benutzerseite


Lesenswert?

stimmt, ist mir auch gerade aufgefallen, als ich die Frage nochmal 
gelesen habe...

von Markus Jung (Gast)


Lesenswert?

Hallo,

und was ist mit dem Zustand (mehr als eine taste gedrückt?)

so wie ich das sehe:

Zustand:
123
000   nicht belegt
001   taste A
010   taste B
011   taste C
100   taste D
101   keine gedrückt
110   error mehr als eine gedrückt


ABCD 123
0000 101 keine gedrückt
0001 001 taste a
0010 010 taste b
0011 110 error
0100 011 taste c
0101 110 error
0110 110 error
0111 110 error
1000 100 taste d
1001 110 error
...
1111 110 error

habe ich das problem richitg verstanden!?

werden die zustände für "mehr als eine taste" oder keine taste unbeding 
so expilzit benötigt!?

bei einer widerstandsnetzwerklösung mit einem ad wandler würden sie mit 
abfallen als beispiel.

wird das ganze auf 5v basis mit/ für einen controller benötigt!?

oder z.B. Sps steuertechnik!?

gruß,
Markus Jung

von Peter D. (peda)


Lesenswert?

gringo schrieb:
> Weiss jemand von euch, ob es ein Bauteil gibt welches 4 Taster
> verschachteln kann zu 3 Signalen?

Erzähl dochmal, wozu man sowas brauchen könnte?

Heutzutage schließt man Tasten direkt an den MC an und gut is.
Es gibt einfach keine Notwendigkeit mehr für Spezial-ICs, keiner braucht 
sie.
Daher sind Spezial-ICs sehr teuer und fast nur noch im Museum 
(Resteaufkäufer) zu haben.

Man sollte daher die Spezial-ICs nicht den Leuten wegnehmen, die sie 
wirklich brauchen (Reparatur alter Anlagen).
D.h. Neuentwicklungen sollten zeitgemäß erfolgen, veralten tun die 
Geräte von alleine.


Peter

von Markus Jung (Gast)


Lesenswert?

...für eine schnelle lösung könntest du einen 74154 nehmen, dieser 
baustein dekodiert dir alle binärfälle in dezimale einzelsignale.

diese signale könntest du auf die eingänge des hier vorgeschlagenen 
74hc148 schalten, entsprechend deiner zustandstabelle, welche von meinem 
beispiel abweichen könnte.

ausnahme wäre hier der error fall indem du alle nicht zugelassenen 
fälle(ausgangspins des 74154) auf einen pin des 74148 legen müsstest, 
dies dann jeweils mit einer diode 1n4148 als beispiel in richtung 74154, 
und einem pull up von 1-10k nach der diode aus sicht des 74154.

gruß,

Markus Jung

von EGS (Gast)


Lesenswert?

Wie sieht es mit einem Multiplexer aus? ist zwar in der Anwendung die 
komplizierteste Variante, aber bietet dir bei ausreichend schneller 
Mux-Rate auch die Möglichkeit mehrere Tasten zu erkennen.

Ansonsten den erwähnten 8 zu 3 Decoder verwenden, oder eine per I²c 
angebundene Lösung?

von Karl H. (kbuchegg)


Lesenswert?

Markus Jung schrieb:
> ...für eine schnelle lösung könntest du einen 74154 nehmen, dieser
...
> fälle(ausgangspins des 74154) auf einen pin des 74148 legen müsstest,

Vielleicht versteh ichs auch nicht.
Aber wo ist der Vorteil einer 2 Chip Lösung, wenn ein einzelnes 
Schieberegister die 4 Tasten (und auch bei Bedarf mehr) mit Leichtigkeit 
auseinanderhalten kann.

Er hat 3 Pins frei. Passt perfekt: DS, CLK, PL

von kurz (Gast)


Lesenswert?

Wie kann man soll grottige Lösungen (Muxer) vorschlagen?

Intellegente Lösungen gabs oben schon genug.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Das ginge doch mit Charlieplex, wenn man Dioden mich nicht zu kleiner 
Vorwärtsspannung im Vergleich zu VCC nimmt. Oder überseh ich was?

   http://en.wikipedia.org/wiki/Charlieplexing

Dann hätte man 6 Taster + 6 Dioden an 3 digitalen I/O-Ports.

Johann

von Markus Jung (Gast)


Lesenswert?

...es steht nichts dort von uc, ad wandler, avr oder sonstigem.

wieso wird hier angenommen das jemand der hier eine frage dieser art 
stellt einen uc einsetzten will? und wenn es so jemand ist, wird er 
sicher nicht diese frage stellen, das schließt sich doch im ansatz schon 
gegenseitig aus....was soll der mit einem schieberegister?

für mich sieht es nach jemandem aus, der sich etwas mit logik gattern 
auskennt, und höchstwarscheinlich keine uc lösung sucht...

vielleicht hilft ein bissl ausführlichere problembeschreibung weiter, 
ansonsten werden wieder 100 schlüssel für ein schloss das keiner genau 
kennt vorgeschlagen...

Markus Jung

von EGS (Gast)


Lesenswert?

@Kurz:

ich weiss nicht was an Mux grottig ist, aber solange man selber keinen 
guten Vorschlag hat bitte trollen.

Mux wird in der Digitaltechnik tausendfach eingesetzt, Was meinste wieso 
du so schnelles Internt hat, mit wenigen Datenleitungen viele Signate 
übertragen, eine hohe Sendervielfalt auf kleinem Übertragungsband oder 
überhaupt gleichzeitig mit deinem Nachbarn telefonieren kannst?

Weil hier "grottige Multiplexer" ihre Arbeit verrichten.

von gringo (Gast)


Lesenswert?

Herzlichen Dank euch allen, hätte nicht so viele Lösungen erwartet !

Also no etwas ausführlicher:
ich benutze einen CC2430 (8051 Kern, Speisung: 2V-3.6V) und möchte gerne 
die 4 Taster interruptmässig einlesen.

Jedoch gefällt mir die ADC-Lösung fast noch besser.
Die Taster lassen sich auch mit verschiedenen Wiederständen in Serie 
codieren, um herauszufinden welcher gedrückt ist.
Über einen Komparator könnte man eine Zustandsänderung herausfinden.

Mit sehr Grossen Wiederständen braucht die Lösung auch nur sehr wenig 
Strom.
--> Vielleicht kann ich auch ohne Kompara<tor (nur mit intelligenten 
Logic Level) einen Interrupt erzeugen, daran muss noch studiert werden, 
sowie an einer einfachen Hardwaremässigen Entprellung.

Für mich eine Super Lösung mit 2 Benutzten Ports.

Nochmals ein grossen Dankeschön für die super Ansätze !

von Klaus2 (Gast)


Lesenswert?

"Für mich eine Super Lösung mit 2 Benutzten Ports."

na, hoffentlich nicht :)

Klaus.

von Stephan H. (stephan-)


Lesenswert?

man löst bei Tastendruck keinen Interrupt aus.
Das ist ein Faul was einem ganz doll auf die Füße fallen kann!!
Es sei denn Deine ISR fäng mit DI an.

von gringo (Gast)


Lesenswert?

Da der CC2430 keinen Komparator Eingang hat, werde ich einen externen 
Komparator auf einen weiteren Pin führen der einen Interrupt auslöst,
so richtig ? ;-)

von gringo (Gast)


Angehängte Dateien:

Lesenswert?

Die Lösung für dir die sich interessieren ;-)

von vlad (Gast)


Lesenswert?

man könnte auch ein parallel zu seriell-schieberegister nehmen, da 
könnte man beliebig viele Taster dran unterbringen, bin mir aber grad 
nicht sicher, ob man 4 oder 3 ports braucht

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.