třída ADC – analogově-digitální převod

Třída ADC zapouzdřuje jediný kanál analogově-digitálního převodníku, který vzorkuje napětí na pinu (nebo na jednom z analogových kanálů na čipu) a vrací jeho diskretizovanou hodnotu.

Příklad použití:

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

Konstruktory

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

Vytvoří objekt ADC pro analogový zdroj určený pomocí id. Přijímané formy jsou:

  • celočíselné číslo kanálu (018 na STM32, jinde závisí na portu);

  • objekt Pin nebo řetězec pinu desky jako "P6" – pin musí být schopen analogového vstupu;

  • jedna z konstant interních kanálů (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF nebo CORE_VDD) pro čtení interních senzorů MCU. Pouze STM32.

Metody

read_u16() int

Jednou navzorkuje analogový kanál a vrátí výsledek jako 16bitové celé číslo bez znaménka (065535). Převodníky s nižším rozlišením jsou zarovnány doleva do 16bitového rozsahu, takže surové rozlišení specifické pro port je skryto.

read_uv() int

Navzorkuje analogový kanál a vrátí výsledek v mikrovoltech. Údaj je kalibrován vůči interní referenci, kde to hardware podporuje. Pouze port mimxrt.

Konstanty

Níže uvedené konstanty jsou k dispozici pouze na portu STM32; předejte je jako argument id pro vytvoření ADC, který čte jeden z analogových senzorů na čipu. Výsledkem read_u16() je surové 16bitové čtení kanálu; pro kalibrované hodnoty použijte pomocné funkce na pyb.ADCAll.

VREF: int

Kanál externí napěťové reference.

CORE_VREF: int

Kanál interní napěťové reference 1.21 V (nominálně) (VREFINT).

CORE_TEMP: int

Kanál interního senzoru teploty čipu.

CORE_VBAT: int

Kanál napětí záložní baterie (VBAT).

CORE_VDD: int

Kanál napájecí větve MCU (VDDA).