ds18x20 — upravljački program za DS18x20 senzor temperature#

Modul ds18x20 pruža upravljački program za Maxim/Dallas DS18B20, DS18S20 i DS1822 1-Wire digitalne senzore temperature. Izgrađen je na vrhu modula onewire i podržava više senzora koji dijele jednu sabirnicu.

Primjer:

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

Konstruira DS18x20 upravljački program vezan na danu onewire.OneWire sabirnicu. Više DS18x20 senzora može dijeliti istu sabirnicu.#

class ds18x20.DS18X20(onewire: OneWire)#

Konstruira DS18x20 upravljač vezan za zadanu onewire.OneWire sabirnicu. Više DS18x20 senzora može dijeliti istu sabirnicu.

scan() list[bytearray]#

Pretražuje temeljnu 1-Wire sabirnicu i vraća listu ROM kodova koji odgovaraju uređajima iz obitelji DS18x20. Vraćaju se samo ROM-ovi čiji je kod obitelji 0x10 (DS18S20), 0x22 (DS1822) ili 0x28 (DS18B20); ostali 1-Wire uređaji na istoj sabirnici se filtriraju.

convert_temp() None#

Izdaje naredbu za pretvorbu temperature svim DS18x20 senzorima na sabirnici istovremeno (koristeći SKIP ROM). Nakon poziva ove metode morate pričekati da se pretvorba dovrši (do 750 ms pri zadanoj 12-bitnoj razlučivosti) prije poziva read_temp().

read_scratch(rom: bytes | bytearray) bytearray#

Čita 9-bajtni scratchpad s uređaja adresiranog s rom i vraća ga kao bytearray. CRC scratchpada se provjerava; pokreće Exception s porukom "CRC error" pri neslaganju CRC-a.

Napomena

Vraćeni međuspremnik je interni međuspremnik upravljačkog programa i prepisuje se naknadnim pozivima.

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

Zapisuje 3 bajta u scratchpad uređaja adresiranog s rom. buf mora sadržavati vrijednosti okidača visokog alarma (TH), okidača niskog alarma (TL) i konfiguracijskog registra.

read_temp(rom: bytes | bytearray) float#

Čita najnoviju pretvorenu temperaturu s uređaja adresiranog s rom i vraća je u stupnjevima Celzija kao float. Obrađuje kodiranja i DS18S20 (kod obitelji 0x10) i DS18B20 / DS1822 (kodovi obitelji 0x28 / 0x22), uključujući negativne temperature.

Pozovite convert_temp() i pričekajte da pretvorba završi prije poziva ove metode.