I built a game controller with 4 joysticks, meaning there are 8 potentiometers to measure by the nano. It is powered via USB to the computer.
When I deflect one joystick , this affects the position reading of the other sticks, which means that I don't get the resolution I want, and also the center seems to float in the controller app. (vjoyserialfeeder)
I understand that the best solution is to provide independent 5v to each potentiometer, but don't know how to easily do this. (is there a cheap product with a bunch of outputs?)
would it work to just use a beefy 5v supply? Or will that have no effect, as the voltage drop is simply relative anyway.
The potentiometers (whose resistance you haven't told us) are likely to be a relatively high resistance and will probably only draw around 1mA each. If so a total of 8mA is well within the capabilities of the USB power supply.
It's possible that the whole thing is on a breadboard with wires everywhere,, so there's some instability there. But if I play a game for a while, I end up needing to recalibrate all the time.
Hi,
When you read your 8 pot inputs to the controller, do you read them like this;
pseudocode.
read pot 1
read pot 2
read pot 3
etc
In other words consecutively.
The controller only has ONE ADC and it is multiplexed to your 8 analog inputs.
On the input of the ADC is a capacitor that stores the input voltage.
It takes time for the voltage on the cap to change to the voltage of the next selected input, so you can get this effect of other channels changing when they don't.
A solution is to read each input TWICE, the last value read in each case will be valid, this gives time for the input to stablise.
So pseudocode;
read pot 1
read pot 1
read pot 2
read pot 2
read pot 3
read pot 3
etc
A circuit diagram would help as well as your code?