clase ADC – conversión de analógico a digital

La clase ADC envuelve un único canal de conversión de analógico a digital que muestrea un voltaje en un pin (o en uno de los canales analógicos del chip) y devuelve su valor discretizado.

Ejemplo 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

Constructores

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

Construye un objeto ADC para la fuente analógica identificada por id. Las formas aceptadas son:

  • un número de canal entero (018 en STM32, específico del puerto en otros casos);

  • un objeto Pin, o una cadena de pin de placa como "P6" – el pin debe ser apto para señales analógicas;

  • una de las constantes de canal interno (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF o CORE_VDD) para leer los sensores internos del MCU. Solo en STM32.

Métodos

read_u16() int

Muestrea el canal analógico una vez y devuelve el resultado como un entero sin signo de 16 bits (065535). Los ADC de menor resolución se alinean a la izquierda dentro del rango de 16 bits, de modo que la resolución sin procesar específica del puerto queda oculta.

read_uv() int

Muestrea el canal analógico y devuelve el resultado en microvoltios. La lectura se calibra frente a la referencia interna cuando el hardware lo admite. Solo en el puerto mimxrt.

Constantes

Las constantes siguientes solo están disponibles en el puerto STM32; pásalas como argumento id para construir un ADC que lea uno de los sensores analógicos del chip. El resultado de read_u16() es la lectura sin procesar de 16 bits del canal; para obtener valores calibrados usa los ayudantes de pyb.ADCAll.

VREF: int

Canal de referencia de voltaje externa.

CORE_VREF: int

Canal de referencia de voltaje interna de 1.21 V (nominal) (VREFINT).

CORE_TEMP: int

Canal del sensor interno de temperatura del chip.

CORE_VBAT: int

Canal de voltaje de la batería de respaldo (VBAT).

CORE_VDD: int

Canal del riel de alimentación del MCU (VDDA).