Në disa nga projektet tuaja do t'ju duhet të matni distancat. Epo, ju duhet ta dini se VL53L0X është një pajisje që lejon matjen e tyre me saktësi të lartë. Përveç kësaj, madhësia e tij e vogël dhe çmimi i ulët e bëjnë atë ideal për projektet tuaja DIY, veçanërisht për t'u integruar me Arduino.
Ka shumë pajisje që mund të matin distancat, disa prej tyre janë matës të distancës bazuar në ultrazërit që lëshojnë një tingull dhe kur kërceni me objekt lejon të dini me saktësi të mjaftueshme distancën që ekziston. Por nëse doni saktësinë më të lartë, për këtë ju duhet një njehsori optik i distancës. Ky lloj i pajisjeve matëse bazohet ne lazer, siç është rasti me VL53L0X.
Çfarë është ToF?
Koha e fluturimit ose kamera ToF (Koha e fluturimit) është një teknikë që përdoret për të matur distancat. Ai bazohet në optikë, duke matur kohën e kaluar ndërmjet emetimit të një rreze drite dhe marrjes së tij. Ata mund të jenë sensorë CCD, CMOS, dhe impulset mund të jenë infra të kuqe, lazer, etj. Sistemi do të sinkronizohet për të filluar matjen e kohës pikërisht kur pulsi është shkaktuar dhe për të ndaluar kundëruesin kur ata marrin kërcimin nga sensori.
Në atë mënyrë distanca mund të llogaritet mjaft saktë. Duhet vetëm një qark logjik shtesë i integruar në çip për të kryer llogaritjet nga momenti kur rrezja është shkrepur deri sa të merret dhe kështu të përcaktohet se cila është distanca. Parimi është mjaft i drejtpërdrejtë.
Ky lloj i pajisjeve përdoret në robotica për të lejuar robotin ose dronin të shmangë pengesat, të dijë se sa janë larg një objektivi, për të zbuluar lëvizjen ose afërsinë, për sensorë makinash të përdorura për aplikime të ndryshme, për të zbatuar një njehsor elektronik, siç është një aktuator në mënyrë që Arduino të bëjë diçka kur zbulon afërsinë e caktuar të një sendi, etj.
Çfarë është VL53L0X dhe fleta e të dhënave
El VL53L0X përdor këtë parim për të matur distancat me infra të kuqe me lazer. brezi i fundit. Së bashku me një procesor, si Arduino, ai mund të jetë një mjet i fuqishëm për matjen. Në mënyrë të veçantë, çipi mund të kap distanca midis 50 mm dhe 2000 mm, domethënë midis 5 centimetra dhe 2 metra.
Për të matur distancat më të afërta, ju me siguri keni nevojë për një variant të këtij çipi të quajtur VL6180X që ju lejon të matni një diapazon midis 5 dhe 200 mm, domethënë midis gjysmë centimetri dhe 20 centimetra. Nëse dëshironi të gjeni një pajisje të ngjashme, por të bazuar në ultratinguj për ndonjë arsye teknike, atëherë duhet të shikoni në HC-SR04, një modul tjetër mjaft i lirë, i njohur nga prodhuesit.
El Çipi VL53L0X është projektuar për të punoni edhe kur drita e ambientit është mjaft e lartë. Kini parasysh që kur punoni optikisht, sa më e madhe të jetë "ndotja" e dritës së mjedisit, aq më e vështirë do të jetë kapja adekuate e kërcimit të sinjalit. Por në këtë rast nuk paraqet shumë problem. Për më tepër, sistemi i kompensimit që ai integron e lejon atë të matet edhe nëse e përdorni pas xhamit mbrojtës.
Kjo e bën atë një të sensorëve më të mirë të distancës që do të gjeni në treg. Me një precizion shumë më të lartë se sensorët e bazuar në ultratinguj ose infra të kuqe (IR). Arsyeja për të qenë kaq i saktë është se lazeri nuk do të ndikohet nga jehona ose reflektimi nga objektet si në rastet e tjera.
Aktualisht mund ta gjeni të integruar në mushka me disa shtesë për rreth 16 € ose në pllaka më të thjeshta prej pak më shumë se 1 € ose 3 € në raste të tjera. Ju tashmë e dini që do ta gjeni në dyqane si eBay, AliExpress, Amazon, etj. Prodhuesit e këtyre pajisjeve janë të ndryshëm, prandaj nëse duhet të dini detajet e modelit që keni blerë, është mirë ta kontrolloni fletën e të dhënave të prodhuesit që ju keni zgjedhur. Për shembull:
El VL53L0X Ka brenda çipit emetuesin e impulsit të lazerit dhe sensorin për të kapur rrezen e kthimit. Në këtë rast, emetuesi është një lazer me gjatësi vale 940nm dhe tipi VCSEL (Laser emetues sipërfaqësor me zgavër vertikale). Sa i përket sensorit të kapjes, ai është një SPAD (Diodat e Ortekut të Fotos). Ai gjithashtu integron një elektronikë të brendshëm të quajtur FlightSenseTM që do të llogarisë distancën.
El këndi i matjes ose FOV (Fusha e Pamjes) është 25º në këtë rast. Kjo përkthehet në një zonë matjeje me diametër 0,44m në një distancë prej 1m. Edhe pse diapazoni i matjes do të varet nga kushtet përreth. Nëse bëhet në ambiente të mbyllura është pak më e lartë sesa nëse bëhet jashtë. Kjo gjithashtu do të varet nga pasqyrimi i objektit që po tregoni:
Reflektimi i synimit | Kushtet | I brendshëm | Jashtë |
---|---|---|---|
Shënjestër e bardhë | tipik | 200cm | 80cm |
Imitoni | 120cm | 60cm | |
Shënjestër gri | tipik | 80cm | 50cm |
minimum | 70cm | 40cm |
Përveç kësaj, VL53L0X ka disa mënyrat e funksionimit që mund të ndryshojnë rezultatet. Ato mënyra janë përmbledhur në tabelën vijuese:
Shfaqje | Koha | fushë | Saktesi |
---|---|---|---|
nga default | 30ms | 1.2m | Shihni tabelën më poshtë |
Saktësi e lartë | 200ms | 1.2m | + / - 3% |
Me rreze të gjatë | 33ms | 2m | Shihni tabelën më poshtë |
Shpejtësi e lartë | 20ms | 1.2m | + / - 5% |
Sipas këtyre mënyrave, ne kemi disa saktësi standarde dhe me rreze të gjatë që keni në këtë tabelë:
I brendshëm | Jashtë | |||||
---|---|---|---|---|---|---|
Reflektimi i synimit | Distance | 33ms | 66ms | Distance | 33ms | 66ms |
Shënjestër e bardhë | një 120 cm | 4% | 3% | një 60 cm | 7% | 6% |
Shënjestër gri | një 70 cm | 7% | 6% | një 40 cm | 12% | 9% |
Pinout dhe lidhje
Që të gjitha këto të funksionojnë si duhet ju nevojiten një ndërfaqe me botën e jashtme. Dhe kjo arrihet përmes disa kunjave ose lidhjeve. Pinout i VL53L0X është mjaft i thjeshtë, ai ka vetëm 6 kunja. Për integrimin e tij me Arduino, komunikimi mund të bëhet përmes I2C.
Për ta ushqyer, mundeni lidhni kunjat Kështu që:
- KQV në 5v nga Arduino
- GND në GND të Arduino
- SCL në një pin analoge Arduino. Për shembull A5
- SDA në një tjetër pin analoge. Për shembull A4
- Kunjat GPI01 dhe XSHUT nuk duhet të përdoren për momentin.
Integrimi me Arduino
Sa për shumë module të tjera, për VL53L0X ju gjithashtu keni biblioteka (p.sh. një për Adafruit) të kodit të disponueshëm që mund të përdorni për të punuar me funksione të caktuara kur shkruani kodin burimor për të trajtuar projektin tuaj në Arduino IDE. Nëse kjo është hera juaj e parë me Arduino, unë ju rekomandoj manuali ynë i programimit.
Një shembull i Kod i thjeshtë për ju që të merrni matjet dhe të shfaqni vlerën e matjes përmes portës serike kështu që mund ta shihni nga ekrani i PC tuaj ndërsa keni të lidhur bordin Arduino është:
#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); }
Në bibliotekën e vetë Adafruit keni më shumë shembuj të përdorimit nëse keni nevojë për të ...