Kai kuriuose savo projektuose jums reikės matuoti atstumus. Na, jūs turėtumėte žinoti, kad VL53L0X yra prietaisas, leidžiantis juos tiksliai išmatuoti. Be to, dėl mažo dydžio ir mažos kainos jis idealiai tinka jūsų „pasidaryk pats“ projektams, ypač norint integruotis su „Arduino“.
Yra daugybė prietaisų, galinčių išmatuoti atstumus, kai kurie iš jų yra ultragarsu paremti atstumo matuokliai, skleidžiantys garsą ir šokdami su objektu, leidžia pakankamai tiksliai žinoti esamą atstumą. Bet jei norite didžiausio tikslumo, tam jums reikia optinio atstumo matuoklis. Šio tipo matavimo prietaisai yra pagrįstas lazeriu, kaip yra su VL53L0X.
Kas yra ToF?
Skrydžio laikas arba ToF (skrydžio laikas) kamera tai technika, naudojama matuoti atstumus. Jis pagrįstas optika, matuojančiu laiką, praėjusį nuo šviesos pluošto spinduliavimo iki priėmimo. Jie gali būti CCD, CMOS jutikliai, o impulsai gali būti infraraudonieji, lazeriniai ir kt. Sistema bus sinchronizuota, kad būtų galima pradėti matuoti laiką, kai suveikia impulsas, ir sustabdyti skaitiklį, kai jutiklis gauna peradresavimą.
Tokiu būdu atstumą galima apskaičiuoti gana tiksliai. Jums tereikia papildomos loginės schemos, įmontuotos į lustą, kad būtų galima atlikti skaičiavimus nuo spindulio paleidimo iki jo gavimo ir taip nustatyti atstumą. Principas yra gana paprastas.
Šio tipo įrenginiai naudojami robotų technika leisti robotui ar dronui išvengti kliūčių, sužinoti, kaip toli jie yra nuo taikinio, aptikti judėjimą ar artumą, skirtingoms programoms naudojamiems automobilio jutikliams, įdiegti elektroninį skaitiklį, pvz., „Arduino“ pavarą, norint ką nors padaryti kai aptinka tam tikrą objekto artumą ir t.
Kas yra VL53L0X ir duomenų lapas
El VL53L0X naudoja šį principą matuodamas atstumus lazeriniu infraraudonuoju spinduliu. paskutinė karta. Kartu su procesoriumi, pavyzdžiui, „Arduino“, tai gali būti galingas matavimo įrankis. Konkrečiai, lustas gali užfiksuoti atstumus nuo 50 mm iki 2000 mm, tai yra nuo 5 centimetrų iki 2 metrų.
Norėdami išmatuoti artimesnius atstumus, jums tikriausiai reikia šios mikroschemos varianto, vadinamo VL6180X, leidžiančiu išmatuoti diapazoną nuo 5 iki 200 mm, tai yra nuo pusės centimetro iki 20 centimetrų. Jei norite rasti panašų įrenginį, bet pagrįstą ultragarsu dėl bet kokių techninių priežasčių, turėtumėte pažvelgti į kitą gana pigų modulį, populiarų tarp gamintojų, HC-SR04.
El VL53L0X lustas buvo sukurta dirbti net tada, kai aplinkos šviesa yra gana didelė. Turėkite omenyje, kad dirbant optiškai, kuo didesnė aplinkos šviesos „tarša“, tuo sunkiau bus tinkamai užfiksuoti signalo atšokimą. Bet šiuo atveju tai nekelia per daug problemų. Be to, jos integruota kompensavimo sistema leidžia ją matuoti, net jei ją naudojate už apsauginio stiklo.
Tai paverčia jį vienu geriausių atstumo jutiklių kurį rasite rinkoje. Daug tiksliau nei jutikliai, pagrįsti ultragarsu arba infraraudonaisiais spinduliais (IR). Tokio tikslumo priežastis yra ta, kad lazerio nepaveiks daiktų aidai ar atspindys, kaip ir kitais atvejais.
Šiuo metu galite jį integruoti į mulus su papildomais mokesčiais už maždaug 16 EUR arba paprastesnėse plokštelėse, kurių vertė viršija 1 € arba 3 EUR, kitais atvejais. Jūs jau žinote, kad jį rasite tokiose parduotuvėse kaip „eBay“, „AliExpress“, „Amazon“ ir kt. Šių prietaisų gamintojai yra įvairūs, todėl, jei reikia žinoti išsamią informaciją apie įsigytą modelį, geriausia tai patikrinti gamintojo duomenų lapą kad pasirinkai. Pavyzdžiui:
El VL53L0X Mikroschemoje yra lazerio impulso skleidėjas ir jutiklis, kad būtų užfiksuotas grįžtantis spindulys. Šiuo atveju spinduolis yra 940 nm bangos ilgio lazeris ir VCSEL tipo (vertikalios ertmės paviršių skleidžiantis lazeris). Kalbant apie fiksavimo jutiklį, tai yra SPAD (Single Photon Avalanche Diodes). Ji taip pat integruoja vidinę elektroniką, vadinamą „FlightSenseTM“, kuri apskaičiuos atstumą.
El matavimo kampas arba FOV (regėjimo laukas) šiuo atveju jis yra 25º. Tai reiškia 0,44 m skersmens matavimo plotą 1 m atstumu. Nors matavimo diapazonas priklausys nuo aplinkinių sąlygų. Jei tai daroma uždarose patalpose, ji yra šiek tiek didesnė nei tuo atveju, jei tai daroma lauke. Tai taip pat priklausys nuo objekto, į kurį nukreipiate, atspindžio:
Tikslinis atspindys | Sąlygos | Salonas - Autosporto prekės | išorinis |
---|---|---|---|
Baltas taikinys | Tipiškas | 200cm | 80cm |
Mimika | 120cm | 60cm | |
Pilkas taikinys | Tipiškas | 80cm | 50cm |
Minimo | 70cm | 40cm |
Be to, „VL53L0X“ turi keletą darbo režimai tai gali skirtis rezultatais. Šie režimai apibendrinti šioje lentelėje:
Būdas | Laikas | Pasiekite | tikslumas |
---|---|---|---|
Numatytasis | 30ms | 1.2m | Žr. Toliau pateiktą lentelę |
Didelis tikslumas | 200ms | 1.2m | + / - 3% |
Ilgo nuotolio | 33ms | 2m | Žr. Toliau pateiktą lentelę |
Didelis greitis | 20ms | 1.2m | + / - 5% |
Pagal šiuos režimus turime keletą standartiniai ir tolimieji tikslumai kurį turite šioje lentelėje:
Salonas - Autosporto prekės | išorinis | |||||
---|---|---|---|---|---|---|
Tikslinis atspindys | Atstumas | 33ms | 66ms | Atstumas | 33ms | 66ms |
Baltas taikinys | ties 120 cm | 4% | 3% | ties 60 cm | 7% | 6% |
Pilkas taikinys | ties 70 cm | 7% | 6% | ties 40 cm | 12% | 9% |
Pinout ir jungtis
Kad visa tai veiktų tinkamai, jums reikia sąsaja su išoriniu pasauliu. Ir tai pasiekiama per kai kuriuos kaiščius ar jungtis. VL53L0X kištukas yra gana paprastas, jis turi tik 6 kaiščius. Dėl jo integracijos su „Arduino“ komunikacija gali būti vykdoma per „I2C“.
Norėdami jį išmaitinti, galite prijunkite kaiščius Taigi:
- VCC iki 5v iš „Arduino“
- „Arduino“ nuo GND iki GND
- SCL į „Arduino“ analoginį kaištį. Pavyzdžiui, A5
- SDA į kitą analoginį kaištį. Pavyzdžiui, A4
- Šiuo metu nereikia naudoti kaiščių GPI01 ir XSHUT.
Integracija su „Arduino“
Kaip ir daugeliui kitų modulių, VL53L0X taip pat turite bibliotekų (pvz., Skirtų Adafruit) turimo kodo, kurį galite naudoti dirbdami su tam tikromis funkcijomis, kai rašote šaltinio kodas jūsų projektui tvarkyti „Arduino IDE“. Jei pirmą kartą naudojate „Arduino“, rekomenduoju mūsų programavimo vadovas.
Pavyzdys Paprastas kodas matavimams atlikti ir matavimo vertei parodyti per nuoseklųjį prievadą kad pamatytumėte jį iš savo kompiuterio ekrano, kai esate prijungę „Arduino“ lentą, yra:
#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); }
Pačioje „Adafruit“ bibliotekoje galite rasti daugiau naudojimo pavyzdžių, jei jums to reikia ...