classe ADC – conversão analógico-digital

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

Exemplo de uso:

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 aceitas são:

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

  • um objeto Pin, ou uma string de pino da placa como "P6" – o pino deve ser capaz de operar em modo analógico;

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

Métodos

read_u16() int

Amostra o canal analógico uma vez e retorna o resultado como um inteiro de 16 bits sem sinal (065535). ADCs de resolução mais baixa são alinhados à esquerda dentro da faixa de 16 bits, de modo que a resolução bruta específica da porta fica oculta.

read_uv() int

Amostra o canal analógico e retorna o resultado em microvolts. A leitura é calibrada em relação à referência interna onde o hardware oferece suporte. Apenas a porta mimxrt.

Constantes

As constantes abaixo estão disponíveis somente na porta STM32; passe-as como o argumento id para construir um ADC que lê um dos sensores analógicos no chip. O resultado de read_u16() é a leitura bruta de 16 bits do canal; para valores calibrados use 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 do die interno.

CORE_VBAT: int

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

CORE_VDD: int

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