clasa ADC – conversie analog-digitală

Clasa ADC încapsulează un singur canal de convertor analog-digital care eșantionează o tensiune pe un pin (sau unul dintre canalele analogice de pe cip) și returnează valoarea sa discretizată.

Exemplu de utilizare:

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

Constructori

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

Construiește un obiect ADC pentru sursa analogică identificată prin id. Formele acceptate sunt:

  • un număr întreg de canal (018 pe STM32, specific portului în alte cazuri);

  • un obiect Pin sau un șir de pin de placă precum "P6" – pinul trebuie să fie capabil de funcționare analogică;

  • una dintre constantele de canal intern (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF sau CORE_VDD) pentru a citi senzorii interni ai MCU-ului. Doar STM32.

Metode

read_u16() int

Eșantionează canalul analogic o dată și returnează rezultatul ca un întreg fără semn pe 16 biți (065535). ADC-urile cu rezoluție mai mică sunt aliniate la stânga în intervalul de 16 biți, astfel încât rezoluția brută specifică portului este ascunsă.

read_uv() int

Eșantionează canalul analogic și returnează rezultatul în microvolți. Citirea este calibrată față de referința internă acolo unde hardware-ul o permite. Doar portul mimxrt.

Constante

Constantele de mai jos sunt disponibile doar pe portul STM32; transmiteți-le ca argument id pentru a construi un ADC care citește unul dintre senzorii analogici de pe cip. Rezultatul lui read_u16() este citirea brută pe 16 biți a canalului; pentru valori calibrate utilizați funcțiile ajutătoare din pyb.ADCAll.

VREF: int

Canalul de referință de tensiune externă.

CORE_VREF: int

Canalul intern de referință de tensiune de 1,21 V (nominal) (VREFINT).

CORE_TEMP: int

Canalul intern al senzorului de temperatură a cipului.

CORE_VBAT: int

Canalul de tensiune a bateriei de rezervă (VBAT).

CORE_VDD: int

Canalul șinei de alimentare a MCU-ului (VDDA).