class ADC – analogia-digitaalimuunnos

ADC-luokka kapseloi yhden analogia-digitaalimuuntimen kanavan, joka näytteistää jännitteen nastalta (tai jommankumman piirin analogiakanavista) ja palauttaa sen diskretisoidun arvon.

Esimerkkikäyttö:

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

Konstruktorit

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

Luo ADC-objektin tunnisteella id yksilöidylle analogialähteelle. Hyväksytyt muodot ovat:

  • kokonaislukukanavanumero (018 STM32:ssa, muualla porttikohtainen);

  • Pin-objekti tai korttinastamerkkijono kuten "P6" – nastan on tuettava analogiatoimintoa;

  • jokin sisäisten kanavien vakioista (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF tai CORE_VDD) MCU:n sisäisten sensorien lukemiseksi. Vain STM32.

Metodit

read_u16() int

Näytteistää analogiakanavan kerran ja palauttaa tuloksen etumerkittömänä 16-bittisenä kokonaislukuna (065535). Matalamman resoluution ADC:t tasataan vasemmalle 16-bittiseen alueeseen, joten porttikohtainen raaka resoluutio on piilotettu.

read_uv() int

Näytteistää analogiakanavan ja palauttaa tuloksen mikrovoltteina. Lukema kalibroidaan sisäistä vertailuarvoa vasten, kun laitteisto tukee sitä. Vain mimxrt-portti.

Vakiot

Alla olevat vakiot ovat saatavilla vain STM32-portissa; välitä ne argumenttina id, kun haluat luoda ADC-objektin, joka lukee jonkin piirin analogiasensoreista. Metodin read_u16() tulos on kanavan raaka 16-bittinen lukema; kalibroituja arvoja varten käytä pyb.ADCAll-luokan apufunktioita.

VREF: int

Ulkoinen jännitevertailukanava.

CORE_VREF: int

Sisäinen 1,21 V:n (nimellinen) jännitevertailukanava (VREFINT).

CORE_TEMP: int

Sisäinen piirin lämpötilasensorikanava.

CORE_VBAT: int

Varaakkujännitekanava (VBAT).

CORE_VDD: int

MCU:n syöttöjännitekiskon kanava (VDDA).