Joissakin projekteissasi joudut mittaamaan etäisyyksiä. No, sinun pitäisi tietää, että VL53L0X on laite, jonka avulla ne voidaan mitata tarkasti. Lisäksi sen pieni koko ja alhainen hinta tekevät siitä ihanteellisen DIY-projekteihisi, erityisesti integroitavaksi Arduinoon.
On monia laitteita, jotka voivat mitata etäisyyksiä, jotkut niistä ovat etäisyyden mittareita, jotka perustuvat ultraääniin ja jotka lähettävät äänen, ja kun pomppii kohteen kanssa, se tietää riittävän tarkasti olemassa olevan etäisyyden. Mutta jos haluat suurimman tarkkuuden, tarvitset siihen optinen etäisyysmittari. Tämän tyyppiset mittauslaitteet perustuu laseriin, kuten VL53L0X: n tapauksessa.
Mikä on ToF?

Lennon aika tai ToF (Time-of-Flight) -kamera se on tekniikka, jota käytetään etäisyyksien mittaamiseen. Se perustuu optiikkaan, joka mittaa valonsäteen säteilyn ja sen vastaanoton välisen ajan. Ne voivat olla CCD-, CMOS-antureita, ja pulssit voivat olla infrapuna-, laser- jne. Järjestelmä synkronoidaan aloittamaan ajanmittaus heti, kun pulssi laukeaa, ja pysäyttämään laskurin, kun he vastaanottavat palautumisen anturilta.
Tuolla tavalla etäisyys voidaan laskea melko tarkasti. Piiriin integroituna tarvitaan vain ylimääräinen logiikkapiiri laskelmien suorittamiseksi siitä hetkestä, kun säde laukaistaan, kunnes se vastaanotetaan, ja siten määritetään etäisyys. Periaate on melko yksinkertainen.
Tämän tyyppistä laitetta käytetään robotiikka sallia robotin tai droneen välttää esteitä, tietää kuinka kaukana he ovat kohteesta, havaita liike tai läheisyys, eri sovelluksiin käytettäville autoantureille, toteuttaa elektroninen mittari, kuten toimilaite, jotta Arduino tekee jotain, kun se havaitsee kohteen tietyn läheisyyden jne.
Mikä on VL53L0X ja tietolomake
El VL53L0X käyttää tätä periaatetta etäisyyksien mittaamiseen laser-infrapunalla. viimeinen sukupolvi. Yhdessä prosessorin, kuten Arduinon, kanssa se voi olla tehokas työkalu mittaamiseen. Erityisesti siru pystyy kaappaamaan etäisyydet 50 - 2000 mm, toisin sanoen 5 senttimetrin ja 2 metrin välillä.
Lähempien etäisyyksien mittaamiseksi tarvitset todennäköisesti tämän sirun variantin nimeltä VL6180X, jonka avulla voit mitata alueen välillä 5-200 mm, toisin sanoen puoli senttimetriä ja 20 senttimetriä. Jos haluat löytää samanlaisen mutta ultraäänipohjaisen laitteen mistä tahansa teknisestä syystä, sinun kannattaa tarkastella HC-SR04: ää, toista melko halpaa moduulia, jota suosivat valmistajat.
El VL53L0X-siru on suunniteltu toimivat, vaikka ympäristön valo on melko korkea. Muista, että optista työtä tehtäessä mitä suurempi on ympäristön "pilaantuminen", sitä vaikeampaa on signaalin palautumisen riittävä sieppaaminen. Mutta tässä tapauksessa se ei aiheuta liikaa ongelmaa. Lisäksi integroitu kompensointijärjestelmä antaa sen mitata, vaikka käyttäisitkin sitä suojalasin takana.
Se tekee siitä yhden parhaista etäisyysantureista jonka löydät markkinoilta. Paljon korkeammalla tarkkuudella kuin ultraääniin tai infrapunaan (IR) perustuvat anturit. Syy niin tarkkuuteen on, että esineiden kaiku tai heijastavuus ei vaikuta laseriin kuten muissa tapauksissa.
Tällä hetkellä voit löytää sen integroituna muuliin, joissa on jonkin verran lisämaksua noin 16 eurolla, tai yksinkertaisemmissa levyissä, jotka ovat hieman yli 1 tai 3 euroa muissa tapauksissa. Tiedät jo, että löydät sen kaupoista, kuten eBay, AliExpress, Amazon jne. Näiden laitteiden valmistajat ovat erilaisia, joten jos haluat tietää ostamasi mallin yksityiskohdat, on parasta tarkistaa valmistajan tuotetiedot jonka olet valinnut. Esimerkiksi:
El VL53L0X Siinä on sirun sisällä laserpulssin emitteri ja anturi palavan säteen sieppaamiseksi. Tässä tapauksessa emitteri on 940 nm: n aallonpituuslaseri ja VCSEL-tyyppinen (pystysuoraa onteloa pintaa emittoiva laser). Sieppausanturin osalta se on SPAD (Single Photon Avalanche Diodes). Se integroi myös sisäisen elektroniikan nimeltä FlightSenseTM, joka laskee etäisyyden.
El mittauskulma tai FOV (näkökenttä) se on tässä tapauksessa 25º. Tämä tarkoittaa halkaisijaltaan 0,44 m: n mitta-aluetta 1 metrin etäisyydellä. Vaikka mittausalue riippuu ympäröivistä olosuhteista. Jos se tehdään sisätiloissa, se on hieman korkeampi kuin ulkona. Se riippuu myös osoittamasi objektin heijastuvuudesta:
| Tavoiteheijastavuus | Ehdot | sisusta | Ulkopuoli |
|---|---|---|---|
| Valkoinen kohde | tyypillinen | 200cm | 80cm |
| Matkia | 120cm | 60cm | |
| Harmaa kohde | tyypillinen | 80cm | 50cm |
| mínimo | 70cm | 40cm |
Lisäksi VL53L0X: llä on useita käyttötavat Se voi vaihdella tuloksia. Nämä tilat on tiivistetty seuraavaan taulukkoon:
| Modo | Ajoitus | Laajuus | tarkkuus |
|---|---|---|---|
| oletuksena | 30ms | 1.2m | Katso alla oleva taulukko |
| Suuri tarkkuus | 200ms | 1.2m | + / - 3% |
| Pitkän kantaman | 33ms | 2m | Katso alla oleva taulukko |
| Suuri nopeus | 20ms | 1.2m | + / - 5% |
Näiden tilojen mukaan meillä on useita vakio- ja pitkän kantaman tarkkuudet mitä sinulla on tässä taulukossa:
| sisusta | Ulkopuoli | |||||
|---|---|---|---|---|---|---|
| Tavoiteheijastavuus | Etäisyys | 33ms | 66ms | Etäisyys | 33ms | 66ms |
| Valkoinen kohde | 120 cm: n kohdalla | 4% | 3% | 60 cm: n kohdalla | 7% | 6% |
| Harmaa kohde | 70 cm: n kohdalla | 7% | 6% | 40 cm: n kohdalla | 12% | 9% |
Pinout ja liitäntä

Jotta kaikki toimisi kunnolla, tarvitset käyttöliittymä ulkomaailmaan. Ja se saavutetaan joidenkin nastojen tai liitosten avulla. VL53L0X: n pinout on melko yksinkertainen, sillä on vain 6 nastaa. Integrointiin Arduinon kanssa viestintä voidaan tehdä I2C: n kautta.
Voit ruokkia sitä kytke nastat Niin:
- VCC 5v Arduinosta
- Arduinon GND - GND
- SCL Arduinon analogiseen tapiin. Esimerkiksi A5
- SDA toiseen analogiseen tapiin. Esimerkiksi A4
- GPI01- ja XSHUT-nastoja ei tarvitse käyttää tällä hetkellä.
Integrointi Arduinon kanssa

Kuten monissa muissakin moduuleissa, VL53L0X: llä on myös kirjastoja (esim Adafruit) käytettävissä olevaa koodia, jota voit käyttää tiettyjen toimintojen käsittelemiseen kirjoittaessasi lähdekoodi käsittelemään projektiasi Arduino IDE: ssä. Jos tämä on ensimmäinen kerta Arduinon kanssa, suosittelen ohjelmointikäsikirja.
Esimerkki Yksinkertainen koodi mittausten tekemiseen ja mittausarvojen näyttämiseen sarjaportin kautta joten näet sen tietokoneesi näytöltä, kun Arduino-kortti on kytketty, on:
#include "Adafruit_VL53L0X.h"
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
// Iniciar sensor
Serial.println("VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Error al iniciar VL53L0X"));
while(1);
}
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
Serial.print("Leyendo sensor... ");
lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug
if (measure.RangeStatus != 4)
{
Serial.print("Distancia (mm): ");
Serial.println(measure.RangeMilliMeter);
}
else
{
Serial.println(" Fuera de rango ");
}
delay(100);
}
Adafruitin omassa kirjastossa on lisää käyttötapoja, jos tarvitset sitä ...