classe ADC – conversão analógico-digital

A classe ADC encapsula um único canal conversor analógico-digital que amostra uma tensão num pino (ou num dos canais analógicos internos ao chip) e devolve o seu valor discretizado.

Exemplo de utilização:

from machine import ADC, Pin

adc = ADC(Pin("P6"))      # ADC channel on header pin P6 (PA5)
val = adc.read_u16()      # raw reading scaled to 0..65535

Construtores

class machine.ADC(id: int | str | Pin) ADC

Constrói um objeto ADC para a fonte analógica identificada por id. As formas aceites são:

  • um número de canal inteiro (018 no STM32, específico da porta noutras plataformas);

  • um objeto Pin, ou uma cadeia de pino de placa como "P6" – o pino deve ser capaz de entradas analógicas;

  • uma das constantes de canal interno (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF ou CORE_VDD) para ler os sensores internos do MCU. Apenas no STM32.

Métodos

read_u16() int

Amostra o canal analógico uma vez e devolve o resultado como um inteiro sem sinal de 16 bits (065535). Os ADC de menor resolução são alinhados à esquerda na gama de 16 bits, ocultando assim a resolução em bruto específica da porta.

read_uv() int

Amostra o canal analógico e devolve o resultado em microvolt. A leitura é calibrada contra a referência interna quando o hardware o suporta. Apenas na porta mimxrt.

Constantes

As constantes abaixo estão disponíveis apenas na porta STM32; passe-as como argumento id para construir um ADC que leia um dos sensores analógicos internos ao chip. O resultado de read_u16() é a leitura em bruto de 16 bits do canal; para valores calibrados, utilize os auxiliares em pyb.ADCAll.

VREF: int

Canal de referência de tensão externa.

CORE_VREF: int

Canal de referência de tensão interna de 1,21 V (nominal) (VREFINT).

CORE_TEMP: int

Canal do sensor de temperatura interno do encapsulamento.

CORE_VBAT: int

Canal de tensão da bateria de reserva (VBAT).

CORE_VDD: int

Canal de alimentação do MCU (VDDA).