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).