I am making a circuit that should read the values of many (4-16) potentiometers in a sequence, using one analog to digital converter. My approach is, as shown on the image below, to feed 5V in steps to each potentiometer, while the others are grounded (using a shift register.)
First I started with the classic layout, with one diode at the output of the potentiometers. This was giving me a lot of noise in the ADC output. I also tried to buffer the output with an opamp as a voltage follower. I thought that this will solve the issue, but to my surprise there was still a lot of noise.
Then I experimented with a layout like the image on the right. Again I am feeding 5V in steps to each potentiometer, while the others are grounded. This variant is giving me a lot more steady reading with almost zero noise.
I am not very experienced in eletronics though, and I don't know if this is a valid approach. I feel like it's a bit of a heresy. For now I am sticking with it though, because it works well, although the number of transistors required is high.
What do you people think, did I mess up the op amp buffer, or maybe loose wiring on the breadboard? I made sure my wiring was good but who knows. Does the schematic on the right look like a heresy to you?
I added the opamp buffer version to clarify what I did. Should this improve the noise in theory? For the record, I know about the way to do it with mux (have done it before), but I am trying this as an alternative, because it will benefit the device I am constructing in other ways(not relevant to the dicussion)