ds18x20 --- driver cảm biến nhiệt độ DS18x20

Mô-đun ds18x20 cung cấp driver cho các cảm biến nhiệt độ kỹ thuật số 1-Wire Maxim/Dallas DS18B20, DS18S20 và DS1822. Nó được xây dựng trên mô-đun onewire và hỗ trợ nhiều cảm biến chia sẻ một bus duy nhất.

Ví dụ:

import time
from machine import Pin
from onewire import OneWire
from ds18x20 import DS18X20

ds = DS18X20(OneWire(Pin("P7")))
roms = ds.scan()

ds.convert_temp()
time.sleep_ms(750)
for rom in roms:
    print(rom, ds.read_temp(rom))

Lớp

class ds18x20.DS18X20(onewire: OneWire)

Khởi tạo driver DS18x20 gắn với bus onewire.OneWire đã cho. Nhiều cảm biến DS18x20 có thể chia sẻ cùng một bus.

scan() list[bytearray]

Tìm kiếm trên bus 1-Wire bên dưới và trả về danh sách mã ROM tương ứng với các thiết bị thuộc dòng DS18x20. Chỉ trả về các ROM có mã gia đình là 0x10 (DS18S20), 0x22 (DS1822) hoặc 0x28 (DS18B20); các thiết bị 1-Wire khác trên cùng bus bị lọc ra.

convert_temp() None

Gửi lệnh chuyển đổi nhiệt độ đến tất cả cảm biến DS18x20 trên bus đồng thời (dùng SKIP ROM). Sau khi gọi phương thức này, bạn phải chờ quá trình chuyển đổi hoàn thành (tối đa 750 ms ở độ phân giải 12-bit mặc định) trước khi gọi read_temp().

read_scratch(rom: bytes | bytearray) bytearray

Đọc scratchpad 9 byte từ thiết bị được địa chỉ bởi rom và trả về dưới dạng bytearray. CRC của scratchpad được xác minh; ném ra Exception với thông báo "CRC error" khi CRC không khớp.

Ghi chú

Buffer được trả về là buffer nội bộ của driver và bị ghi đè bởi các lần gọi tiếp theo.

write_scratch(rom: bytes | bytearray, buf: bytes | bytearray) None

Ghi 3 byte vào scratchpad của thiết bị được địa chỉ bởi rom. buf phải chứa giá trị ngưỡng cảnh báo cao (TH), ngưỡng cảnh báo thấp (TL) và thanh ghi cấu hình.

read_temp(rom: bytes | bytearray) float

Đọc nhiệt độ đã chuyển đổi gần nhất từ thiết bị được địa chỉ bởi rom và trả về bằng độ Celsius dưới dạng float. Xử lý cả mã hóa DS18S20 (mã gia đình 0x10) và DS18B20 / DS1822 (mã gia đình 0x28 / 0x22), bao gồm nhiệt độ âm.

Hãy gọi convert_temp() và chờ quá trình chuyển đổi hoàn thành trước khi gọi phương thức này.