Arduino Micro + CD74HC4067 Multiplexer

Hallo

Ich habe eine Buttonbox gebaut für Simracing.
Anfangs habe ich das ganze über die Keypad Library versucht. Hatte aber denn Probleme mit dem ansteuern der LEDs.
Nun habe ich mir von Sparkfun den 16 Kanal. Multiplexer gekauft CD74HC4067.

Die Ausgabe der der 16 Kanäle funktioniert über den Micro und im Serial Monitor werden diese korrekt aufgezeigt.
Mir ist jedoch nicht ganz klar, wie die gesamte Adressierung von von statten geht, wenn ich die Digitalen Ein/Ausgänge des Micros auch noch verwenden will. Theoretisch müsste ich ja zusammen 32 in/outs haben, wobei ich den Multiplexer nur für die Pushbuttons verwenden will.

Die Box hat 10 Pushbuttons, 5 Encoder und 6 LEDs.

Das Schema hat nur 8 Knöpfe und keine Encoder und LEDs.

Habe leider in den Foren/Youtube nichts eine solchen Kombi gefunden.
Habt gnade

Beste Grüsse

Reto

Ich habe zwar nicht verstanden, was das genau werden soll und wie es funktionieren soll, aber vermute mal mit 2 I2C-Portexpander MCP23017 wärest du besser dran gewesen.

Hallo
zeige mal Bilder oder ein Blockschaltbild von der "Buttonbox"

Die Eingabe kann über Analog-Multiplexer geschehen. Die Ausgabe aber nicht. Für die Ausgabe rate ich Dir einen LED-Treiber zB TLC5947 mit 24 Ausgängen dimmbar oder gleich LED mit eingebauten Controller zb WS2812 oder ähnliche.

Grüße Uwe

Verstehe ich das richtig? ich kann die 10 Pushbuttons nicht über den Mux an den Micro geben und diesen für die Rotarys als input und die 6 LEDs als Output verwenden?
Dann hab ich wohl was grundsätzliches nicht verstanden.

Ich benötige den Micro, da ich die Keyboard library brauche. Die Keypad lib konnte ich nicht brauchen, da ich mit den Leds zu wenig ports hatte.

Werde wohl nochmals über die Bücher müssen.

Danke anyway

Reto

Was wie geht, hat Uwe ja schon beschrieben.
Allerdings kannst du auch die von mir beschriebenen Port-Expander einsetzen.

Der 4067 Multiplexer hat 1 "Eingang" und 16 "Ausgänge" Darum kann immer nur 1 "Ausgang" ein LED zum leuchten zu bringen.
Du mußt die Zeit zwischen den 16 "Ausgängen" aufteilen und aktiv die Zeitabschnitte.

Da der 4067 ein Analogmultiplexer ist können der "Eingang" auch Ausgang sein und umgekehrt.

Außerdem haben die Transistoren, die "Ein" und "Ausgängen" zusammenschalten, eine relativ hohen Innenwiderstand. laut Datenblatt bei 5V typisch 470ohmbis max 1000 Ohm. https://www.ti.com/lit/ds/symlink/cd4097b.pdf?ts=1615210577501

Der 4067 hat 4 digitale Eingänge die den "Eingang" zum einem der 16 "Ausgänge" schaltet.

Grüße Uwe

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.