Sensing analog values
In Chapter 4, Controlling Outputs Softly with Analog Outputs, we talked about digital to analog conversion and the use Arduino makes of its internal DAC when generating analog outputs. In this chapter, we need to know about the DAC cousin, the Analog to Digital Converter (ADC).
An ADC is a device with just the opposite mission of a DAC, that is, a device that takes a signal that can theoretically have an infinite number of states and convert it to just a few concrete values, or in Arduino jargon, takes an analog signal and converts it to a digital value.
Just like the DAC, the Arduino board comes with a six-channel ADC with a 10-bit resolution for each channel. This means that we can deal with up to six different analog signals ranging from 0V to 5V that will be converted to values between 0 and 1024.
If you remember from Chapter 4, Controlling Outputs Softly with Analog Outputs, the DAC had just an 8-bit resolution, allowing for values between 0 and 255, so we will have...