ds18x20 — DS18x20-lämpötilasensorin ajuri¶
ds18x20-moduuli tarjoaa ajurin Maximin/Dallasin DS18B20-, DS18S20- ja DS1822-tyyppisille 1-Wire-digitaalilämpötilasensoreille. Se rakentuu onewire-moduulin päälle ja tukee useita sensoreita, jotka jakavat saman väylän.
Esimerkki:
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))
Luokat¶
- class ds18x20.DS18X20(onewire: OneWire)¶
Luo DS18x20-ajurin, joka on sidottu annettuun
onewire.OneWire-väylään. Useat DS18x20-sensorit voivat jakaa saman väylän.- scan() list[bytearray]¶
Etsii taustalla olevasta 1-Wire-väylästä ja palauttaa listan ROM-koodeista, jotka vastaavat DS18x20-perheen laitteita. Vain ROM-koodit, joiden perhekoodi on
0x10(DS18S20),0x22(DS1822) tai0x28(DS18B20), palautetaan; muut samalla väylällä olevat 1-Wire-laitteet suodatetaan pois.
- convert_temp() None¶
Lähettää lämpötilan muunnoskäskyn kaikille väylän DS18x20-sensoreille samanaikaisesti (käyttäen SKIP ROM -komentoa). Tämän metodin kutsun jälkeen sinun on odotettava muunnoksen valmistumista (enintään 750 ms oletusarvoisella 12-bittisellä resoluutiolla) ennen kuin kutsut metodia
read_temp().
- read_scratch(rom: bytes | bytearray) bytearray¶
Lukee 9 tavun työmuistin (scratchpad) laitteelta, jonka osoittaa rom, ja palauttaa sen
bytearray-objektina. Työmuistin CRC tarkistetaan; nostaa poikkeuksenExceptionviestillä"CRC error"CRC-virheen sattuessa.Muista
Palautettu puskuri on ajurin sisäinen puskuri, ja seuraavat kutsut ylikirjoittavat sen.
- write_scratch(rom: bytes | bytearray, buf: bytes | bytearray) None¶
Kirjoittaa 3 tavua laitteen työmuistiin, jonka osoittaa rom. buf on sisällettävä korkean hälytyksen kynnysarvon (TH), matalan hälytyksen kynnysarvon (TL) ja konfiguraatiorekisterin arvot.
- read_temp(rom: bytes | bytearray) float¶
Lukee viimeksi muunnetun lämpötilan laitteelta, jonka osoittaa rom, ja palauttaa sen celsiusasteina
float-arvona. Käsittelee sekä DS18S20- (perhekoodi0x10) että DS18B20- / DS1822-koodaukset (perhekoodit0x28/0x22), mukaan lukien negatiiviset lämpötilat.Kutsu metodia
convert_temp()ja odota muunnoksen valmistumista ennen tämän metodin kutsumista.