mikrocontroller.net

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


Autor: gringo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: H.Joachim Seifert (crazyhorse)
Datum:

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

Autor: Marcel V. (antis)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcel V. (antis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu spät... :-)

Autor: Uwe Berger (boerge) Benutzerseite
Datum:

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

Uwe

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe Berger (boerge) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt, ist mir auch gerade aufgefallen, als ich die Frage nochmal 
gelesen habe...

Autor: Markus Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: EGS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann man soll grottige Lösungen (Muxer) vorschlagen?

Intellegente Lösungen gabs oben schon genug.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: EGS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gringo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: Klaus2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Für mich eine Super Lösung mit 2 Benutzten Ports."

na, hoffentlich nicht :)

Klaus.

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gringo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ? ;-)

Autor: gringo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Lösung für dir die sich interessieren ;-)

Autor: vlad (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.