class ADC – analog to digital conversion¶
The ADC class provides an interface to analog-to-digital converters, and represents a single endpoint that can sample a continuous voltage and convert it to a discretised value.
For extra control over ADC sampling see machine.ADCBlock.
Example usage:
from machine import ADC
adc = ADC(pin) # create an ADC object acting on a pin
val = adc.read_u16() # read a raw analog value in the range 0-65535
val = adc.read_uv() # read an analog value in microvolts
Constructors¶
- class machine.ADC(id: int | Pin, *, sample_ns: int = ..., atten: int = ...)¶
Access the ADC associated with a source identified by id. This id may be an integer (usually specifying a channel number), a Pin object, or other value supported by the underlying machine.
If additional keyword-arguments are given then they will configure various aspects of the ADC. If not given, these settings will take previous or default values. The settings are:
sample_ns is the sampling time in nanoseconds.
atten specifies the input attenuation.
Methods¶
- init(*, sample_ns: int = ..., atten: int = ...) None¶
Apply the given settings to the ADC. Only those arguments that are specified will be changed. See the ADC constructor above for what the arguments are.
- block() ADCBlock¶
Return the ADCBlock instance associated with this ADC object.
This method only exists if the port supports the ADCBlock class.