lớp ADC -- chuyển đổi tương tự sang số

Lớp ADC bao bọc một kênh chuyển đổi tương tự-sang-số đơn lẻ, lấy mẫu điện áp trên một chân (hoặc một trong các kênh tương tự trên chip) và trả về giá trị đã được rời rạc hóa.

Ví dụ sử dụng:

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

Hàm khởi tạo

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

Khởi tạo một đối tượng ADC cho nguồn tương tự được xác định bởi id. Các dạng được chấp nhận là:

  • số nguyên chỉ số kênh (0 -- 18 trên STM32, phụ thuộc vào cổng ở nơi khác);

  • đối tượng Pin, hoặc chuỗi chân bo mạch như "P6" -- chân phải có khả năng tương tự;

  • một trong các hằng số kênh nội bộ (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF hoặc CORE_VDD) để đọc các cảm biến nội bộ của MCU. Chỉ STM32.

Phương thức

read_u16() int

Lấy mẫu kênh tương tự một lần và trả về kết quả dưới dạng số nguyên không dấu 16-bit (0 -- 65535). Các ADC có độ phân giải thấp hơn được căn trái vào phạm vi 16-bit nên độ phân giải thô phụ thuộc vào cổng bị ẩn đi.

read_uv() int

Lấy mẫu kênh tương tự và trả về kết quả tính bằng microvolt. Kết quả đọc được hiệu chỉnh theo tham chiếu nội bộ khi phần cứng hỗ trợ. Chỉ cổng mimxrt.

Hằng số

Các hằng số bên dưới chỉ có sẵn trên cổng STM32; truyền chúng làm đối số id để khởi tạo một ADC đọc một trong các cảm biến tương tự trên chip. Kết quả của read_u16() là số đọc thô 16-bit của kênh; để có giá trị được hiệu chỉnh hãy dùng các helper trên pyb.ADCAll.

VREF: int

Kênh điện áp tham chiếu ngoài.

CORE_VREF: int

Kênh điện áp tham chiếu nội bộ 1.21 V (danh nghĩa) (VREFINT).

CORE_TEMP: int

Kênh cảm biến nhiệt độ die nội bộ.

CORE_VBAT: int

Kênh điện áp pin dự phòng (VBAT).

CORE_VDD: int

Kênh nguồn cung cấp MCU (VDDA).