Mehrere HEX-Code-Schalter an µC

Gast #5283310
Lesenswert?

Hallo Leute!

ich hab voll den Bock geschossen ... jetzt geht's drum am Besten mit 
keinen oder wenig Hardware-Änderungen die Sache auszubügeln.

Vielleicht hat ja jemand von euch eine zündende Idee :)

Ihr seht vier HEX-Code-Schalter die ich am ATMega mit 8 Pins abfragen 
möchte.
Nur leider brücken sich die Schalter gegenseitig durch.

(Der Gedanke war über SW_ARRAY_S1, S2, S3, S4 die Schalter nacheinander 
mit Spannung zu beaufschlagen und den Status über SW_ARRAY_BIN0 - BIN3 
abzufragen)

Die Möglichkeit die mir eingefallen wäre, jedem Pin vor dem 
zusammenführen an BIN0 - BIN3 eine Diode zu spendieren, das gefällt aber 
meinem Layout vom Platz garnicht.

Habt ihr eine Idee?
Angehängte Dateien:
#5283441
Lesenswert?

Reinhard R. schrieb:
> S1, S2, S3 und S4 nacheinander jeweils einen als Ausgang schalten,
> die
> anderen als Eingang ohne Pullup. Über Bin0 ... Bin3 den jeweils aktiven
> Hexschalter abfragen. Reine Softwarelösung.

Geht doch nicht weil irgendein auf 15 gesetzter Schalter alle vier 
Leitungen zusammen verbindet. Das verhindert die unabhängige Auslesung 
aller anderen Schalter am Bus.
Gast #5283558
Lesenswert?

SOD323 passen quasi fast direkt unten an die Pins der Hexdrehschalter. 
Dioden gibt es in ganz klein mittlerweile. auch verfügbar.
Wenn das Layout jetzt schon fertig ist, dann würd ich sowas bestellen 
und mit draufsetzen (gebastelt, aber was hilfts)
https://www.reichelt.de/BA-BAY-BB-Dioden/BAT-43WS/3/index.html?ACTION=3&GROUPID=2988&ARTICLE=95208&SEARCH=sod323&START=0&OFFSET=16&;
Ich hab hier auch welche in doppelt oder dreifach (SOD666?) von NXP als 
Array.
#5283764
Lesenswert?

Gerhard O. schrieb:
> Geht doch nicht weil irgendein auf 15 gesetzter Schalter alle vier
> Leitungen zusammen verbindet. Das verhindert die unabhängige Auslesung
> aller anderen Schalter am Bus.

Hast recht, war ein Schnellschuss am frühen Morgen :-(
Ist mir dann kurz danach auch aufgefallen, konnte es aber nicht eher 
korrigieren
wegen Handy/Internetverbot während der Arbeitszeit.
Jetzt ist Mittagspause, da darf ich :-)
Gast #5290787
Lesenswert?

Mal angenommen ich wähle den "einfachen Weg":

Das könnte Probleme mit dem Low-Pegel beim AtMega88 bei 3,3V geben, 
oder?
Selbst wenn ich Schottky-Dioden verwende und den gemeinsamen Pin der 
Codeswitch der Reihe nach zum Auswerten auf 0V ziehe, liegen am 
Controller trotzdem noch bis zu 0,4 - 0,6V an und das reicht nicht für 
einen richtig definiertes Low?
Angehängte Dateien:
Gast #5290805
Lesenswert?

Bin gerade etwas verunsichert, die 1V würden mir schon gefallen, nur im 
Datenblatt finde ich das hier (siehe Bild), da ist von 0,1 - 0,3V ohne 
dem *VCC die rede ...

Oder ist es generell vernünftiger die Dioden umzudrehen, Pull-Ups auf 
GND und die Codeswitch mit VCC anzufahren?
Angehängte Dateien:

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