A szenzor egy kisméretű, nem látható tartományba eső fényt kibocsátó lézerforrást és egy hozzá csatlakozó érzékelőt tartalmaz. A VL53L0X „Time of Flight” elvű mérést alkalmaz, azaz méri a “repülési időt”, vagyis azt az időtartamot, amennyi idő alatt a kibocsátott fény visszajut vissza az érzékelőre. Mivel az alkalmazott fénynyaláb nagyon keskeny, csak a közvetlenül előtte lévő felületről verődik vissza, így csak pontosan annak a távolságát fogja meghatározni. Az ultrahanghullámokat alkalmazó szenzorokhoz képest az érzékelés “kúpja” nagyon keskeny. Ellentétben az infravörös távolságmérővel, ami megpróbálja mérni a visszaverődött fény mennyiségét, a VL53L0x sokkal pontosabb, és nem rendelkezik linearitási problémákkal sem. Az alkalmazott mérési elv következtében nem lép fel az un. “kettős képalkotás” hiba, amikor a mérési adatból nem dönthető el, hogy egy tárgy nagyon messze vagy nagyon közel van.

A szenzor a VL6180X érzékelő “nagy testvére”, hatótávolsága 50 – 1200 mm közötti méréskre teszi ideálissá. Ha kisebb mérési tartományra van szükséged, használd a VL6180X típust, amely 5 mm-től 200 mm-ig érzékel.

A VL53LOX mérete és egyszerű programozhatósága miatt kiválóan alkalmas robotikai és mérési projektekben történő alkalmazásra. A szenzor közvetlenü 2,8V-s tápfeszültséggel működik, és logikai szintje is ennyi, de a miniatűr áramköri lap tartalmaz egy stabilizátor, valamint egy szintillesztő áramkört, így az eszközt gond nélkül tudod használni tetszőleges 3,3V-os vagy 5V-os rendszerben.

A lapka az egyszerű alkalmazhatóság érdekében beforrasztható tüskesorral kapható, így könnyen tudod alkalmazni breadboard-ban, vagy nyomtatott áramköri lapon.

A VL53L0X tüskesorral

A szenzor az csatlakoztatott mikrokontrollerrel I2C buszon kommunikál, az Adafruit cég oldaláról letölthető library csomaggal az összes arduino kompatibilis eszközzel működtethető.

Érzékelési tartomány:

Alaphelyzetben a szenzor 50mm – 1200mm tartományban működik. Az alábbi ábra a szenzor pontosságát mutatja fehér illetve szürke visszaverő felület esetén:

Közeli érzékelés

A második ábrán a „nagy hatótávolság” (long range mode) adatai láthatók:

Távoli érzékelés

Bekötés:

Bekötés

  • Vin: tápfeszültség csatlakozó. A kártya kialakítása következtében nyugodtan használhatsz 3,3V-os vagy 5V-os tápfeszültséget, a beépített stabilizátor előállítja a szenzornak szükséges 2,8V-ot.
  • 2V8: a panelon lévő stabilizátor kimenete, maximális terhelhetősége 100 mA
  • GND: közös földpotenciál, táp illetve logika
  • SCL: I2C busz órajel
  • SDA: I2C busz adatjel
  • GPIO: az áramkör data ready kimenete. Logikai szintje 2,8V, ezt figyelembe kell venned, ha a jelet fel szeretnéd dolgozni. Az Adafruit library nem kezeli ennek a kimenetnek a jelét!
  • SHDN: a szenzor shutdown bemenete. Alaphelyzetben logikai magas szinten van, ha lehúzod logikai alacsony szintre, a szenzor lekapcsol. A bemenet rendelkezik szintillesztővel, így akár 3,3V-os akár 5V-os logikával működtethető.
  • Bekötés:

    Bekötés

    A VL53LOX gyári I2C címe 0x29!

    Programozás:

    A programozás megkezdése előtt töltsd le a szükséges library-t, a Sketch / Include Library / Manage Libraries menüpont segítségével. Keress rá az Adafruit VL53L0X elemre, és kattints az Install gombra!

    A letöltés után a szenzort az Adafruit mintaprogramjával ki is tudod próbálni!

    File->Examples->Adafruit_VL53L0X->vl53l0x

    Itt keresd a demo programot

    Amennyiben mindent jól csináltál, a program futtatása, és a soros monitor bekapcsolása után hasonló eredményt fogsz látni a képernyőn:

    Érkeznek az adatok a soros monitoron!

    Távolságmérés működése:

    A cikk az Adafruit cég https://www.adafruit.com/product/3317 oldalának felhasználásával készült.

    A cikkben használt lézeres érzékelő megvásárolható a MálnaPC Webshopjában!