A VL53L0X szenzor egy apró lézerforrást, amely szemmel nem látható tartományba eső fényt bocsát ki, és egy hozzá csatlakozó érzékelőt tartalmaz. A „Time of Flight” elvű mérést alkalmazza a VL53L0X, 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ésekre 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.

Kis mérete és egyszerű programozhatósága miatt kiválóan alkalmas robotikai és mérési projektekben történő alkalmazásra a VL53L0X. Az áramkör közvetlenül 2,8V-s tápfeszültséggel működik, és logikai szintje is ennyi, de a miniatűr lapka 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.

Egy rövid tüskesorral szállítják a VL53L0X panelt.

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!