клас ADC – аналого-цифрове перетворення

Клас ADC обгортає один канал аналого-цифрового перетворювача, який вимірює напругу на виводі (або одному з вбудованих аналогових каналів) і повертає дискретизоване значення.

Приклад використання:

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

Конструктори

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

Створює об’єкт ADC для аналогового джерела, ідентифікованого параметром id. Допустимі форми:

  • ціле число номера каналу (018 на STM32, на інших платформах залежить від порту);

  • об’єкт Pin або рядок піна плати, наприклад "P6" – вивід має підтримувати аналоговий режим;

  • одна з констант внутрішнього каналу (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF або CORE_VDD) для зчитування внутрішніх датчиків MCU. Лише для STM32.

Методи

read_u16() int

Знімає один зразок аналогового каналу і повертає результат як беззнакове 16-бітне ціле число (065535). АЦП з нижчою роздільною здатністю вирівнюються за лівим краєм у 16-бітному діапазоні, приховуючи апаратну роздільну здатність порту.

read_uv() int

Знімає зразок аналогового каналу і повертає результат у мікровольтах. Показання калібрується відносно внутрішнього еталону там, де це підтримується апаратно. Лише для порту mimxrt.

Константи

Наведені нижче константи доступні лише на порту STM32; передайте їх як аргумент id для створення ADC, що зчитує один із вбудованих аналогових датчиків мікросхеми. Результат read_u16() — це сире 16-бітне зчитування каналу; для каліброваних значень використовуйте допоміжні засоби pyb.ADCAll.

VREF: int

Канал зовнішнього опорного напруги.

CORE_VREF: int

Канал внутрішнього опорного напруги 1,21 В (номінал) (VREFINT).

CORE_TEMP: int

Канал внутрішнього датчика температури кристала.

CORE_VBAT: int

Канал напруги резервної батареї (VBAT).

CORE_VDD: int

Канал шини живлення MCU (VDDA).