Drehschalter codieren

Gast #1960848
Lesenswert?

Hi zusammen
Würde dringen eure Hilfe benötigen.
Ich habe einen Drehschalter mit 16 Stellungen.
Je nachdem in welcher Stellung er sich befindet, benötige ich den Wert
als 4Bit Gray Code. Kann von mir aus auch ein anderer Code sein aber 
eben
auf 4Bit.

zb. der 8. Schließer ist geschlossen --> Ausgabewert 0100 (gray code), 
oder 1000 oder was auch immer.

Gibts da vielleicht eine vorgefertigte IC Lösung oder sowas?

Danke im voraus!!
Gast #1960879
Lesenswert?

Matthias schrieb:
> Ich habe einen Drehschalter mit 16 Stellungen.
> Je nachdem in welcher Stellung er sich befindet, benötige ich den Wert
> als 4Bit Gray Code. Kann von mir aus auch ein anderer Code sein aber
> eben
> auf 4Bit.

Hallo,

wenn der Schalter 1 aus 16 kodiert ist, müsstest du ja erstmal 16 
Leitungen abfragen - das ist äusserst unpraktisch, viel besser wäre ein 
Schalter, der von vornherein an 4 Pins dezimal- oder Gray-Code schaltet.

Wenn's garnicht anders geht, eben 16 Inputs abfragen und in einer 
Tabelle nachschauen. Vernünftige ICs gibt es dafür nicht, die Funktion 
wäre Priority Encoder, aber die gibt's wenn überhaupt nur für 4 Bit 
(74xx278), also müsstest du 4 Stück kaskadieren. Aber 16 
Schaltereingänge sind immer blöd, egal ob Hard- oder Software.

Gruss Reinhard
Gast #1961138
Lesenswert?

Danke für die schnellen Antworten

Hab jetzt bei meiner weiteren Suche den kaskadierbaren SN54HC148 
gefunden, der für meine Zwecke relativ gut passen würde.

Jetzt wäre nur noch die Frage, ob es eine platz- und kostengünstige 
Möglichkeit gibt aus dem Binärcode einen Gray-Code zu machen.

Wisst ihr da irgendwas brauchbares?

Grüße Matthias
Gast #1961279
Lesenswert?

...schau dir das mal an:

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C27;GROUPID=3287;ARTICLE=9250;START=0;SORT=artnr;OFFSET=16;SID=22cmFSqawQARYAAC-eHdMabc184af41436087e7d2e7d8bf2498f5

für die codierung muss du nur die Fälle des Binärcodes tauschen, sprich 
deine Anchlussreihenfolge ändern:

0 0
1 1
2 3
3 2
4 6
5 7
6 5
7 4
8 C
9 D
A F
B E
C A
D B
E 9
F 8

sprich du musst die Pins deines Schalter nicht nacheinander anchließen 
ondern vertauscht, siehe oben,

gruß,
Thorsten
Angehängte Dateien:
Gast #1961520
Lesenswert?

15 x 1kOhm in Serie zwischen GND und +
GND und + sowie alle 14 dazwischen liegenden Knoten
an den 16 Schalterkontakte anschließen.
Den Common-Anschluß des Schalters auf den AD-Eingang des kleinsten
passenden µC schalten und ein paar Programmzeilen schreiben:

FERTIG

Das Thema hatten wir hier vor ein paar Wochen schon mal mit einem Poti 
als Schalter mit unüblicher Anzahl an Stellungen.

Es grüßt RainerK
Gast #1963081
Lesenswert?

Hallo,

noch einfacher:

Schalter als 4 x 4 Matrix an 8 I/Os, die übrigen 4 I/Os eines PIC16 
geben den Graycode aus. Zum Pic (1 x DIP18) braucht man noch 4 
Pullup-Widerstände. Aber einen Prozessor will der Fragesteller wohl 
nicht.

Gruss Reinhard
Gast #1963084
Lesenswert?

Reinhard Kern schrieb:
> Schalter als 4 x 4 Matrix an 8 I/Os, die übrigen 4 I/Os eines PIC16
> geben den Graycode aus. Zum Pic (1 x DIP18) braucht man noch 4
> Pullup-Widerstände. Aber einen Prozessor will der Fragesteller wohl
> nicht.

Ob der Fragesteller einen PIC o.a. will oder nicht hat er nicht 
geschrieben.
Aber was soll er mit einer 4x4-Matrix?
Der 16er-Schalter, den er verwenden will - bzw. evtl. sogar schon hat - 
gibts wohl kaum mit den für eine solche Matrix notwendigen isolierten 
Einzelschaltern, sondern nur als 16 x 1 oder in seltenen Fällen auch mit 
2 oder 3 Ebenen.

Es grüßt RainerK

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren