Multiplexer CD4051BE im MIDI-Kontroller in reihe schalten

Hallo liebe Community,
ich bastle mir grade einen Midi-Kontroller mit 9 Taster, 9 Schalter, 10 Fader und 50 Dreh-Potis.

Bis jetzt Teste ich noch mit einen Original Leonardo (soll falls nötig mit einem MEGA erweitert werden).

An einen CD4051BE von TI habe ich 8 Potis.

Wie viele Multiplexer kann ich ihn reihe Schalten ohne das es Beeinträchtigungen gibt?

Ich habe mal mit 1x8, 3x8 6x8 getestet, allerdings habe ich die daten mit Hairless ausgelesen und
nicht in einer DAW. Mir sind so keine Nachteile aufgefallen allerdings kommt es mir sehr viel vor.

Danke für eure mühen.

Wie viele Multiplexer kann ich ihn reihe Schalten ohne das es Beeinträchtigungen gibt?

Wie definierst Du "Beeinträchtigung"?

Du willst alle Potentiometer/Fader irgendwie Messen? Welche Werte haben die Potentiometer/Fader ?

Sei dir bewußt daß Je mehr Du multiplexen tust desto langsamer wird die Messung.

Grüße Uwe

Hallo
nimm eine Suchmaschine Deiner Wahl und beschäftige diese mit 32:1 Analog Multiplexer IC

paulpaulson:
Hallo
nimm eine Suchmaschine Deiner Wahl und beschäftige diese mit 32:1 Analog Multiplexer IC

Danke für den Tipp!
Das hätte ich vor einigen Tagen wissen müssen, das ding ist fast fertig.
Jetzt ist nur noch die Frage wie viele Potis ich gleichzeitig abfrage und ob ich noch den Leonardo mit einen MEGA ergänze.

Beim nächsten Kontroller ist das bestimmt eine Option.

uwefed:
Wie definierst Du "Beeinträchtigung"?
Du willst alle Potentiometer/Fader irgendwie Messen? Welche Werte haben die Potentiometer/Fader ?

Ich dachte da schon an die Geschwindigkeit.
Die Poti abfrage schaut so aus:

void potisAbfragen(byte zaehler, int analogPin) {
  potiWert[zaehler] = 0.2 * potiWert[zaehler] + 0.8 * analogRead(analogPin);  //zum glätten
  potiWert[zaehler] = analogRead(analogPin);                                    //ohne glätten
  controllerWert[zaehler] = map(potiWert[zaehler],0,1023,0,127);
  if (controllerWert[zaehler] != controllerWertAlt[zaehler]) {
    controlChange(midiKanal, controllerNummer[zaehler], controllerWert[zaehler]);
    MidiUSB.flush();
    controllerWertAlt[zaehler] = controllerWert[zaehler];
  }
}

Schön daß Du mich zitierst.
Weniger Schön ist daß Du auf keine Frage antwortest.
Grüße Uwe

m8trix:
Jetzt ist nur noch die Frage wie viele Potis ich gleichzeitig abfrage und ob ich noch den Leonardo mit einen MEGA ergänze.

Wenn Du wirklich ergänzen meinst, ist das IMO okay. Wenn Du damit ersetzen meinst, bin ich dagegen - nimm das, was funktioniert und fummle nicht daran herum, nur weil Du meinst, etwas „verbessern“ zu können.

Gruß

Gregor

uwefed:
Schön daß Du mich zitierst.
Weniger Schön ist daß Du auf keine Frage antwortest.
Grüße Uwe

Sorry.
Ich dachte das deine Fragen beantwortet wurden.
*Wie definierst Du "Beeinträchtigung"? *Geschwindigkeit / Performance

*Du willst alle Potentiometer/Fader irgendwie Messen? Welche Werte haben die Potentiometer/Fader ? *Ich dachte das da am besten der CODE ist!

Es geht hier immer um den MIDI Control Change Befehl der besteht je aus dem MIDI-Kanal, KontrollerNr. sowie den abgerufenen wert hier von 0 bis 1024 der dann umgerechnet wird auf 0 bis 127 da es sich hier um MIDI handelt.

Ich danke Dir

Claus

gregorss:
Wenn Du wirklich ergänzen meinst, ist das IMO okay. Wenn Du damit ersetzen meinst, bin ich dagegen - nimm das, was funktioniert und fummle nicht daran herum, nur weil Du meinst, etwas „verbessern“ zu können.

Danke für deine Antwort,
Du hast recht ich fummle da erst mal nicht weiter herum. Und gegeben falls kommt die Erweiterung des MEGA zum Einsatz.
Ein ersetzten ist nicht geplant, allerdings warum bist du dagegen?

m8trix:
Ein ersetzten ist nicht geplant, allerdings warum bist du dagegen?

Weil ich mittlerweile denke, dass man etwas so lassen sollte, wie es funktioniert. Etwas Funktionierendes zu ändern, weil man denkt, man könne es besser machen, führt oft dazu, dass man „verschlimmbessert“.

Wenn es ums Sparen geht: so wahnsinnig viel ist da eh nicht zu sparen.

Gruß

Gregor

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