Go Down

Topic: Trying to optimise my analogRead for steadier Readings (7BIT) (Read 587 times) previous topic - next topic


I'm building a midi controller with a couple dozen 10k linear pots using 2 4067 multiplexers.

I'm currently using:
Code: [Select]

Although stability isn't not terrible, I'm still getting +/-1 oscillations when some of the pots are in mid travel. Unnoticeable during performance but I real pain when the knobs fight each-other when the computer is in "learn" mode.

Midi CC only requires 7BIT resolution so I'm wondering if there is a way to lower the ADC's resolution to 7BIT since I'm trashing the resolution anyway with the Map function.

Thanks in advance for any insight.


Sure, just throw away the lower 3 bits of the 10-bit reading:

Code: [Select]
value = analogRead(0) >> 3;

You're kind of doing this anyways (inefficiently) using the map() function, so I doubt this will get rid of your +/-1 oscillation. Consider filtering, either median filtering or just averaging N readings.

Beat707: MIDI drum machine / sequencer / groove-box for Arduino


Thanks RG!

I will try some averaging and see how it goes.

Congrats on the 707, fantastic work I have to say!


check - http://arduino.cc/playground/Main/RunningAverage - or - http://arduino.cc/playground/Main/RunningMedian -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131