Go Down

### Topic: Changing resolution of AnalogRead() on Arduino Uno (Read 875 times)previous topic - next topic

#### huynh213

##### Apr 05, 2016, 08:01 pm
Hello,

As I understand the analogRead() function has a resolution of 5V/1024= 4.9mV. Now I try to increase the resolution to 50mV to avoid unwanted noise plus I don't need it to be as low as 4.9mV. I am wondering if there's any good ways to do it.

Thanks,

#### Grumpy_Mike

#1
##### Apr 05, 2016, 08:05 pm
Quote
I am wondering if there's any good ways to do it.
Only with software dividing the reading, you can not affect the hardware resolution in this direction.

#### huynh213

#2
##### Apr 05, 2016, 08:09 pm
Hi Grumpy_Mike,

Any recommendation of what direction I should take? I am a bit confused by the meaning of "software dividing the reading".

Thanks,

#### AWOL

#3
##### Apr 05, 2016, 08:10 pm
50mV is greater than 4.9mV - that's a reduction in resolution.

#### huynh213

#4
##### Apr 05, 2016, 08:18 pm
My bad, its a reduction in resolution. Any thought?

#### sterretje

#5
##### Apr 05, 2016, 09:25 pm
Code: [Select]
`int value = analogRead(A0) / 10;`

As said before, simply divide.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

#### Paul__B

#6
##### Apr 06, 2016, 12:59 pm
It may be as well to add five before you divide by ten.

#### JohnLincoln

#7
##### Apr 06, 2016, 01:41 pm
Have a look at this Application Note from Atmel about Enhancing ADC resolution by oversampling.

#### JohnLincoln

#8
##### Apr 06, 2016, 01:56 pm
There seems to be some confusion about whether you require a higher resolution, or a lower resolution.

Maybe it is a bit like a x10 oscilloscope probe - it doesn't multiply the signal by 10, it divides it by 10

Go Up