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:
A második ábrán a „nagy hatótávolság” (long range mode) adatai láthatók:
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:
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
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!




