www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dip Schalter pinsparend einlesen?


Autor: Zombiemaster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

gibt es eine Möglichkeit Dip-Schalter (in meinem Fall 12 an der Zahl) 
irgendwie sparsamer als parallel an 12 Pins vom Atmega8 einzulesen? 
Irgendwie seriell vielleicht? Mir gehen leider langsam die Pins aus...

Danke und Gruß
  Zombiemaster

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Pins nur einmal einlesen willst: Häng die über Widerstände 
an irgendwelche Leitungen, die normalerweise Ausgänge sind und lese 
diese beim Einschalten schnell ein.

Autor: Marc Seiffert (eurofighter) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du könntest den dip in ne matrix schalten, aber das wäre eine recht 
komplizierte verkablung, und du würdest 7 Portpins dafür benötigen

ansonsten kannst auch einen PCF9554/9555 nehmen, das ist ein I²C 
portexpander, sehr einfach anzusteuern, sogar  mit interrupt bei 
pinveränderung.

oder, noch günstiger, einfach einen MEga8 als portexpander nehmen 
(insofern du mit megas arbeitest). Der bekommt dann ne einfachs SW 
drauf, die die angeschlossenen pins einliest und für die kommunikation 
mit dem master-µC sorgt

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt doch auch diese Kodier-Drehschalter, wo man z.B. 16 Stellungen 
hat die dann binär-kodiert, also nur 4 Leitungen, ausgegeben werden.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Msp 430_crew wrote:
> Es gibt doch auch diese Kodier-Drehschalter, wo man z.B. 16 Stellungen
> hat die dann binär-kodiert, also nur 4 Leitungen, ausgegeben werden.

Das sind dann aber 4 Bit, nicht 12 Bit.

Was auch noch ginge, wenn noch ein paar A/D-Wandler verfügbar sind: über 
die Dip-Schalter verschiedene Widerstände schalten und dann an den 
A/D-Eingang.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schieberegister an SPI: 74HC165, macht drei Pins. SCK/SS/MISO

Pin10 im Anhang kannst du auf GND/Vcc legen

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Multiplexer wäre auch eine Überlegung wert, benötigt für 16 Eingänge 
4 Steuerleitungen + einen Ausgang, also 5 Ports des AVR.

Autor: Matthias Lipinsky (lippy)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Anhang.

Braucht drei Pins.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthias Lipinsky (lippy)

>Hier der Anhang.
>Braucht drei Pins.

Ein Blick in den Wikiartikel hätte genügt.

MFG
Falk

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Falk Brunner (falk):

Das stimmt schon, aber da muss ja noch gescrollt werden, auf das 
richtige Kapitel ;-)

Autor: Zombiemaster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaah, okay, alles klar, danke!

Das es ein Schieberegister für Eingänge gibt wusste ich...
Runterscrollen hilft tatsächlich...

Merci!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem R/2R-Netzwerk müßte das Auslesen der DIP-Schalter mit einem 
einzigen A/D-Pin möglich sein. Die Programmierung ist allerdings etwas 
aufwändiger.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein R/2R-Netzwerk für einen 12poligen DIP-Schalter? Da brauchts aber mal 
ganz präzise Widerstände, vom (mindestens) 12-Bit-ADC mal ganz zu 
schweigen.

Autor: David Madl (md2k7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwei AD Pins, jeweils 6bit? ;-)

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Travel
Ich bezweifle, dass du damit 12 Bit schaffst.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
War ja nur so ´ne Idee ;-)

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.