import machine adc = machine.ADC() # create an ADC object apin = adc.channel(pin='P16') # create an analog pin on P16 val = apin() # read an analog value
Create an ADC object; associate a channel with a pin. For more info check the hardware section.
Enable the ADC block. This method is automatically called on object creation.
bits
Disable the ADC block.
Create an analog pin.
pin
P13
P20
attn
ADC.ATTN_0DB
ADC.ATTN_2_5DB
ADC.ATTN_6DB
ADC.ATTN_11DB
Returns an instance of ADCChannel.
ADCChannel
If called without any arguments, this function returns the current calibrated voltage (in millivolts) of the 1.1v reference. Otherwise it will update the calibrated value (in millivolts) of the internal 1.1v reference.
1.1v
Connects the internal 1.1v to external GPIO. It can only be connected to P22, P21 or P6. It is recommended to only use P6 on the WiPy, on other modules this pin is connected to the radio.
GPIO
P22
P21
P6
Note: The voltages will automatically be corrected by adcchannel.voltage()
adcchannel.voltage()
The following methods can be applied on the adcchannel() instance. ADC channels are created using the ADC.channel(...) method.
adcchannel()
ADC.channel(...)
Fast method to read the channel value.
Read the channel value.
(Re)init and enable the ADC channel. This method is automatically called on object creation.
Disable the ADC channel.
Reads the channels value and converts it into a voltage (in millivolts)
Converts the provided value into a voltage (in millivolts) in the same way voltage does.
ADC pin input range is 0-1.1V. This maximum value can be increased up to 3.3V using the highest attenuation of 11dB. Do not exceed the maximum of 3.3V, to avoid damaging the device.
0-1.1V
3.3V
11dB