vl53l1x — VL53L1X ToF-etäisyyssensorin ajuri

Tämä moduuli tarjoaa ajurin STMicroelectronicsin VL53L1X-lentoaikaetäisyyssensorille I2C:n kautta. VL53L1X mittaa absoluuttista etäisyyttä noin 4 metriin asti käyttäen 940 nm:n näkymätöntä lasersäteilijää ja SPAD-vastaanotinmatriisia.

Esimerkkikäyttö:

import time
from machine import I2C
import vl53l1x

bus = I2C(1)
tof = vl53l1x.VL53L1X(bus)

while True:
    print("Distance: {} mm".format(tof.read()))
    time.sleep_ms(100)

Luokat

class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)

Luo VL53L1X-ajurin ilmentymä.

  • bus on määritetty machine.I2C -väyläolio, jota käytetään kommunikointiin sensorin kanssa.

  • address on laitteen 7-bittinen I2C-osoite. Oletuksena 0x29.

Konstruktori suorittaa ohjelmistonollauksen, varmentaa sirun malli-ID:n, kirjoittaa oletuskonfiguraatiolohkon laitteeseen ja soveltaa käynnistyksen rekisterikorjauksen, jonka ST API tekee ensimmäisellä etäisyysmittauksen käynnistyksellä. Kutsu estyy noin 200 ms:n ajaksi sensorin asettuessa. Nostaa RuntimeError, jos malli-ID-rekisteri ei palauta odotettua arvoa 0xEACC.

writeReg(reg: int, value: int) None

Kirjoita yksittäinen 8-bittinen value 16-bittiseen laiterekisteriosoitteeseen reg.

writeReg16Bit(reg: int, value: int) None

Kirjoita 16-bittinen value (big-endian) 16-bittiseen laiterekisteriosoitteeseen reg.

readReg(reg: int) int

Lue yksittäinen 8-bittinen arvo 16-bittisestä laiterekisteriosoitteesta reg ja palauta se int -tyyppinä.

readReg16Bit(reg: int) int

Lue 16-bittinen arvo (big-endian) 16-bittisestä laiterekisteriosoitteesta reg ja palauta se int -tyyppinä.

read_model_id() int

Palauta 16-bittisen malli-ID-rekisterin sisältö osoitteessa 0x010F. Odotettu arvo VL53L1X:lle on 0xEACC.

reset() None

Suorita laitteen ohjelmistonollaus vaihtamalla ohjelmistonollausrekisterin 0x0000 tilaa. Estyy 100 ms:n ajaksi laitteen ollessa nollaustilassa.

read() int

Laukaise rekisterilukuoperaatio RESULT__RANGE_STATUS (0x0089) ja palauta yksivyöhykeilmaisimen SD0 lopullinen ylikuulumiskorjattu etäisyys millimetreinä int -tyyppinä.

Vakiot

vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes

Oletuskonfiguraatiolohko, 91 tavua, joka kirjoitetaan laitteeseen rekisteristä 0x2D alkaen konstruoinnin aikana. Lohko asettaa keskeytyspolariteetin, sigma-kynnysarvon, signaalin kynnysarvon, mittausten välisen jakson, etäisyyskynnysarvot, ROI-keskikohdan/koon ja muut ST:n ultra-light-ajurin suosittelemat etäisyysmittausparametrit. Useimmat tavut eivät ole käyttäjän muokattavissa; katso käyttäjän säädettävissä olevat kentät lähdekoodin kommenteista.