kelas ADC -- konversi analog ke digital

Kelas ADC membungkus satu saluran konverter analog-ke-digital yang mengambil sampel tegangan pada pin (atau salah satu saluran analog on-chip) dan mengembalikan nilai yang telah didiskritisasi.

Contoh penggunaan:

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

Konstruktor

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

Buat objek ADC untuk sumber analog yang diidentifikasi oleh id. Bentuk yang diterima adalah:

  • nomor saluran integer (0 -- 18 pada STM32, spesifik port di tempat lain);

  • objek Pin, atau string pin board seperti "P6" -- pin harus mampu analog;

  • salah satu konstanta saluran internal (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF atau CORE_VDD) untuk membaca sensor internal MCU. Hanya STM32.

Metode

read_u16() int

Ambil sampel saluran analog sekali dan kembalikan hasilnya sebagai integer tak bertanda 16-bit (0 -- 65535). ADC resolusi lebih rendah disejajarkan ke kiri ke dalam rentang 16-bit sehingga resolusi mentah spesifik port disembunyikan.

read_uv() int

Ambil sampel saluran analog dan kembalikan hasilnya dalam mikrovolt. Pembacaan dikalibrasi terhadap referensi internal jika perangkat keras mendukungnya. Hanya port mimxrt.

Konstanta

Konstanta di bawah ini hanya tersedia pada port STM32; berikan sebagai argumen id untuk membangun ADC yang membaca salah satu sensor analog on-chip. Hasil dari read_u16() adalah pembacaan 16-bit mentah saluran; untuk nilai yang dikalibrasi gunakan helper pada pyb.ADCAll.

VREF: int

Saluran referensi tegangan eksternal.

CORE_VREF: int

Saluran referensi tegangan internal 1,21 V (nominal) (VREFINT).

CORE_TEMP: int

Saluran sensor suhu die internal.

CORE_VBAT: int

Saluran tegangan baterai cadangan (VBAT).

CORE_VDD: int

Saluran rail suplai MCU (VDDA).