I would like to decrease the duemilanove's ADC resolution to 7 bits. I'm using an analog sensor to generate MIDI commands which only need a range of 0-127. If I use map(analogRead(),0,1023,0,127), there is too much fluctuation and if I take an array of readings and average them to smooth out the fluctuations it takes too long to see a change in the analog sensor.
However, no solution was posted. I'm guessing I could put a very high voltage to the AREF pin or supply the analog sensor with a very low voltage, but I am hoping there is a more elegant solution.
you could also limit the range if you know your inputs dont use the entire range before dividing.
Eg you are measuring from 2.5 to 5.0 volts, you would get an analog reading of 512 - 1023, so you could (reading - 512) / 4. Which would give you better resolution within your range but still return 0-127
Address this in hardware. How are you wiring things up? Often a 0.1uF across the analogue inputs will remove it. Also lowering the impedance the input sees to 10K reduces noise.