Problemas con ruido electrico potenciometros midi

Buenas!! Les presento mi proyecto: Se trata de una pequeña mesa de mezclas basa en Midi sobre Arduino (Utilizo una Leonardo) los componentes de este proyecto son 8 potenciometros lineales + 4 potenciometros deslizantes (faders) + 17 botones. Anteriormente a abrir este hilo he estado buscando toda la informacion posible sobre mi problema, pero no he encontrado ninguna solucion conveniente.

Mi problema esta en la lectura de los potenciometros, que me dan valores arbitrarios, bailan constantemente y no tienen ninguna estabilidad. Los potenciometros los tengo conectados en paralelo

Separe las tierras de los botones y la de los potenciometros para intentar reducir el ruido, y lo consegui, pero no desaparecio del todo, a parte de los componentes que ya he mencionado utilizo 3 multiplexadores M74HC4051B1 para poder utilizar todos los componentes

Lo que tengo pensado hace es utilizar una de esas placas perforadas para organizar mejor todos los cables y que halla menos posibilidades de interferencias, pero no estoy seguro de si sera una solucion eficaz.

Espero que me halla explicado bien y que alguien pueda ayudarme por que me estoy volviendo loco! :sweat_smile: Gracias de antemano!! un saludo!!!

Sube tu esquema eléctrico para que podamos ayudarte mejor.

De todos modos y si lo he entendido bien lo que te sucede es que a la salida del potenciómetro oscila y no se queda fija, supongo que esto lo estarás leyendo por un puerto analógico del arduíno, es así? Coloca un condensador entre la entrada analógica y masa para filtrar esa señal y que no oscile.

Un saludo!

Danicap:
Sube tu esquema eléctrico para que podamos ayudarte mejor.

De todos modos y si lo he entendido bien lo que te sucede es que a la salida del potenciómetro oscila y no se queda fija, supongo que esto lo estarás leyendo por un puerto analógico del arduíno, es así? Coloca un condensador entre la entrada analógica y masa para filtrar esa señal y que no oscile.

Un saludo!

Gracias por comentar!! buscare mas informacion acerca de los condensadores por que no se cual me haria falta, el valor que me haria falta.

Aqui esta el esquematico, he intentando ser lo mas claro posible X)

Bueno supongo pones 8 potenciometros conectados a las 8 entradas del Multiplexor 4051 y tendras el común del 4051 conectado a un AD.

Y el código?

Como para ver que estas haciendo bien o mal.
En el esquema Fritzing no se ve con claridad como estan conectados los potenciometros. Supongo que un extremo a GND otro a 5V y el cursor de cada uno a las 8 entradas del 4051.

Un deseo:
Ojala a toda persona no electrica/electronica se les pudiera dar un pequeño curso de como dibujar un esquema electronico usando algun programa mas claro.
Fritzingno es para mi la mejor opción para entender. Claro que es algo pero al menos dibujado asi no se comprende.

Consideraré hacer algun tutorial de como dibujar o bien sugerir alguno que ya este hecho.

Sorry, es que no sabia cual era la mejor forma de presentarlo, pero si todos los potes conectados al 4051 y este conectado a A0. Sin embargo creo que mi problema no esta ahí, si no que lo conecto a la misma tierra que los faders y quizás se creen algunas interferencias, el amigo Danicap sugirió que utilizara condensadores entre tierra y la salida digital de los condensadores, pero no se como puedo calcular que condensador necesito.

POr otro lado este es el codigo

#include <MIDI_Controller.h>

const uint8_t velocity = 0b01111111; // The velocity of the buttons (0b01111111 = 127 = 100%)
const unsigned int latchTime = 100;  // How long a note will be held on, in DigitalLatch mode (in milliseconds).
AnalogMultiplex multiplexer(A0, { 2, 3, 4 } );
AnalogMultiplex multiplexer1(A1, { 2, 3, 4 } );
AnalogMultiplex multiplexer2(A2, { 2, 3, 4 } );
//_____________________________________________________________________________________________________________________________________________________________________________________________

Analog potentiometers[] = {
  {multiplexer.pin(0), MIDI_CC::Channel_Volume, 1},
  {multiplexer.pin(1), MIDI_CC::Channel_Volume, 2},
  {multiplexer.pin(2), MIDI_CC::Channel_Volume, 3},
  {multiplexer.pin(3), MIDI_CC::Channel_Volume, 4},
  {multiplexer.pin(4), MIDI_CC::Channel_Volume, 5},
  {multiplexer.pin(5), MIDI_CC::Channel_Volume, 6},
  {multiplexer.pin(6), MIDI_CC::Channel_Volume, 7},
  {multiplexer.pin(7), MIDI_CC::Channel_Volume, 8}
};

Analog faders[] = {
  {multiplexer1.pin(0), MIDI_CC::Channel_Volume, 1},
  {multiplexer1.pin(1), MIDI_CC::Channel_Volume, 2},
  {multiplexer1.pin(2), MIDI_CC::Channel_Volume, 3},
  {multiplexer1.pin(3), MIDI_CC::Channel_Volume, 4}
  };

Digital boton[] = {
  {multiplexer1.pin(4), (60, 1, velocity)},
  {multiplexer1.pin(5), (61, 1, velocity)},
  {multiplexer1.pin(6), (62, 1, velocity)},
  {multiplexer1.pin(7), (63, 1, velocity)}
};


Digital boton2[] = {
  {multiplexer2.pin(0), (64, 1, velocity)},
  {multiplexer2.pin(1), (65, 1, velocity)},
  {multiplexer2.pin(2), (66, 1, velocity)},
  {multiplexer2.pin(3), (67, 1, velocity)},
  {multiplexer2.pin(4), (68, 1, velocity)},
  {multiplexer2.pin(5), (69, 1, velocity)},
  {multiplexer2.pin(6), (70, 1, velocity)},
  {multiplexer2.pin(7), (71, 1, velocity)},
};

Gracias de antemano y perdón por tardar en contestar... las fiestas... X)

Viendo como tienes el circuito conectado con que coloques un condensador entre el pin analógico que utilizas y masa te bastará. El tamaño del condensador tampoco muy grande, entre 1uF y 22uF te debería ser suficiente.

Yo creo que el principal problema reside en como esta todo ensamblado (armado).
Usar protoboards para cuestiones de este tipo no es lo aconsejable.
Aún así el principal problema son las path o rutas de GND distribuidos por todo el esquema. Muchos cables que llevan una supuesta GND o TIERRA que no es tal porque todo cable tiene resistencia y todo cable provoca una caída de tensión. Esos pequeños mV entre uno y otra cable se van sumando y generaran problemas en tus lecturas.

Lo aconsejable es que rehagas tu esquema de forma tal de tener un mismo punto de GND y desde ese punto común conectas cada protoboard y cada terminal de potenciómetro. Puedes tomar alguna licencias como unir los 8 potenciometros de cada 4051 con un alambre común soldado y desde algún extremo conectarte a ese punto GND que te he mencionado.

Intenta de este modo a ver si minimizas los problemas.