Pages: [1] 2   Go Down
Author Topic: Does Arduino Uno have max 8-bit or more resolution?  (Read 3950 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Hi I've just read a tutorial about Arduino resolution and it says: "The analog to digital converters (ADC) in the Arduino are considered to have 10 bit resolution.  The bits of resolution is an obfuscation that means 2^10, or 1024 divisions (0 to 1023), of the reference voltage.." Doesn't "ATmega328" on Arduino Uno board have max 8-bit resolution? And doesn't that mean voltage is divided 256 steps? I'm a newbie and I thought I might be fundamentally wrong about these. Any input would be appreciated.  
Thanx
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Hi I've just read a tutorial about Arduino resolution and it says: "The analog to digital converters (ADC) in the Arduino are considered to have 10 bit resolution.  The bits of resolution is an obfuscation that means 2^10, or 1024 divisions (0 to 1023), of the reference voltage.." Doesn't "ATmega328" on Arduino Uno board have max 8-bit resolution? And doesn't that mean voltage is divided 256 steps? I'm a newbie and I thought I might be fundamentally wrong about these. Any input would be appreciated. 
Thanx
Logged

Rome, Italy
Offline Offline
Sr. Member
****
Karma: 20
Posts: 442
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you look at the datasheet http://www.atmel.com/Images/doc8161.pdf, chapter 23, you can see that the ADC has a 10-bit resolution. I don't know why the tutorial calls this an "obfuscation", but the bottom line is that the range of values is from 0 to 1023, as the tutorial says. The part about ATmega's ADC having an 8-bit resolution is simply wrong.
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 150
Posts: 5666
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Hi I've just read a tutorial about Arduino resolution and it says: "The analog to digital converters (ADC) in the Arduino are considered to have 10 bit resolution.  The bits of resolution is an obfuscation that means 2^10, or 1024 divisions (0 to 1023), of the reference voltage.."

Correct.

Doesn't "ATmega328" on Arduino Uno board have max 8-bit resolution? And doesn't that mean voltage is divided 256 steps?

No.
Logged

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi spatula, it seems I didn't really understand what it means 8 bit micro-controller. I thought it is the resolution(bit depth).
What does 8-bit account for?
Logged

Offline Offline
Edison Member
*
Karma: 58
Posts: 2078
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The ATmega328 is a 8-bit chip. The code and calculations and register and memory is done in 8-bit.
The ADC is 10-bit.

The function analogRead() returns a value from 0 up to 1023.
http://arduino.cc/de/Reference/AnalogRead

To get the 10-bit accuracy, it depends on the 5V voltage and the noise. If a few samples are averaged, the accuracy is near 10-bit.
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 309
Posts: 26497
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Memory and register width is eight bit.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Colorado
Offline Offline
Edison Member
*
Karma: 47
Posts: 1562
Reviving dead brain cells with Arduinos.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Also, please don't cross-post.


Moderator edit: emphasis added.
« Last Edit: April 24, 2013, 04:00:34 pm by Coding Badly » Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34572
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
And doesn't that mean voltage is divided 256 steps?
If it had then it would but it hasn't so it doesn't.

Don't mix it up with the 8 bit resolution of the PWM accessed through the badly named analogWrite call. It can only be considered an analog output once you filter it with and external circuit.
See this for information about PWM:-
http://www.thebox.myzen.co.uk/Tutorial/PWM.html

Quote
I don't know why the tutorial calls this an "obfuscation"
No nor do I, unless they are trying unsuccessfully to be friendly.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

AWOL, another website says: "8 bit means that this controller can process only 8-bits of data at a time".
Does it mean each time Arduino sends a 8-bit chunk? But I thought serial protocol is one bit at a time always? How can one wire send 8 bits instantly? Another tutorial says: "The serial communications protocol sends data in 8-bit chunks, or 1-byte at a time." How can "at a time" a wire can carry 8 different states???
« Last Edit: April 24, 2013, 03:40:35 pm by cmd1024 » Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 309
Posts: 26497
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You're confusing a whole load of concepts there.
Serial frames consist normally of ten bits - start bit, eight data bits and a stop bit, all transmitted one after the other.
Internally, the processor works on units of eight bits, fetched from memory in parallel along eight bit wide data paths.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So why do all tutorials say "at a time". Aren't the bits being sent one after another which means there is nothing as a chunk in real.
Or am I still wrong??

edit: So this "8 bit at a time" is about internal chips?? I thought it is about sending data from Arduino to PC for example(serial communication or usb).

« Last Edit: April 24, 2013, 03:45:35 pm by cmd1024 » Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 309
Posts: 26497
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
So why do all tutorials say "at a time"
Which tutorials, please?
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34572
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Still wrong.
You are confusing serial data - one bit at a time. With the width of the data bus inside the processor 8 bits at a time.
Logged

Colorado
Offline Offline
Edison Member
*
Karma: 47
Posts: 1562
Reviving dead brain cells with Arduinos.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1 byte (at a time) = 8 bits (at a time).  Don't confuse byte versus bits.
Logged

Pages: [1] 2   Go Up
Jump to: