Modul senzor ToF VL53L5CX 8x8 zone cu laser VCSEL, I2C
zoom_out_map
chevron_left chevron_right

Imaginile produselor au caracter informativ si pot prezenta diferente minore, in functie de lot si de furnizor. Este posibil ca specificatiile si pretul produselor sa fie modificate fara preaviz. Facem tot posibilul sa adaugam in pagina produselor specificatii cat mai exacte si corecte dar este posibil ca acestea sa nu fie in totalitate corecte. in cazul in care identificati un astfel de caz, va rugam sa ne semnalati acest lucru.

Produsele noastre sunt destinate in principal dezvoltarii, prototiparii si proiectelor tehnice. Informatiile privind specificatiile, instructiunile si conformitatea sunt furnizate conform datelor disponibile de la producatori sau furnizori. Pentru integrarea in produse finale sau aplicatii comerciale, recomandam verificarea compatibilitatii si conformitatii in functie de utilizarea dorita.

Specificatiile tehnice mentionate (curent, putere etc.) reprezinta valori maxime admise in conditii ideale de functionare. Pentru o utilizare sigura si o durata de viata optima, recomandam exploatarea produsului in regim continuu la cel mult 50% din valorile maxime specificate.

Nou

Modul Senzor ToF VL53L5CX 8x8 zone, I2C, 3-5 VDC

Senzor Time-of-Flight VL53L5CX de inalta precizie cu detectie multi-zona configurabila pana la 8x8 (64 zone), masoara distanta pana la 4 metri folosind laser VCSEL invizibil si functioneaza la frecvente pana la 60 Hz. Interfata I2C, alimentare 3 - 5 VDC, compatibil cu Arduino, ESP32, Raspberry Pi si alte platforme, potrivit pentru robotica, mapare mediului, detectie obstacole si sisteme inteligente.

129,37 RON Cu TVA

106,92 RON Fara TVA

Nu exista recenzii
1-2 zile
check In Stoc
Ai gasit mai ieftin? Spune-ne! (autentifica-te pentru a trimite o solicitare)

Cumparand acest produs primesti 6,47 RON in puncte de fidelitate.

Garantie: 24 luni pentru persoane fizice
LIVRARE GRATUITA
Adauga in cos produse in valoare de 130 Ron si ai livrare gratuita daca alegi sa platesti online
EXPEDIERE RAPIDA
Produsele sunt expediate din stoc propriu
PUNCTE FIDELITATE
Primesti puncte la fiecare comanda, in valoare de 5%

Modulul senzor VL53L5X V2 integreaza cipul VL53L5CX, un senzor Time-of-Flight (ToF) dezvoltat de STMicroelectronics, care masoara distanta prin timpul de zbor al luminii emise de un laser VCSEL. Spre deosebire de senzorii IR clasici bazati pe intensitatea luminii reflectate, tehnologia ToF ofera o masurare absoluta a distantei, indiferent de culoarea sau reflectanta obiectului tinta, ceea ce il face potrivit pentru robotica, detectia obstacolelor, maparea mediului, sisteme de acces, dispozitive inteligente si automatizari.

Senzorul ofera detectie multi-zona configurabila, cu o grila de pana la 8x8 zone, adica 64 de zone de masurare simultana, sau 4x4 zone pentru aplicatii mai simple. Camp vizual larg de 63° diagonal, iar fiecare zona permite masurarea distantei la o tinta pana la 4 metri, cu o frecventa maxima de 60 Hz. Emitatorul este un laser VCSEL pe 940 nm, invizibil pentru ochiul uman, iar algoritmii de tip histograma dezvoltati de ST permit detectia mai multor obiecte distincte in acelasi camp vizual si imbunatatesc imunitatea la reflexiile de pe un eventual geam de protectie.

Printre caracteristicile principale se numara pinii de interfata VIN, GND, SCL, SDA, INT si LPn marcati direct pe cablaj, capacul optic de protectie montat peste senzor pentru rezistenta la praf si precizie crescuta, precum si cele doua gauri de montare de pe placa. Alimentarea se face la o tensiune din intervalul 3 - 5 VDC, aplicata pe pinul VIN, iar setul de pini inclus permite montarea pe breadboard sau lipirea de cabluri.

Prin interfata I2C, modulul este compatibil cu Arduino, ESP32, STM32, Raspberry Pi si alte platforme care dispun de aceasta interfata.

 

Specificatii:

Senzor: VL53L5CX (STMicroelectronics)

Tehnologie: Time-of-Flight (ToF), laser VCSEL 940 nm

Tensiune alimentare: 3 - 5 VDC

Interfata comunicare: I2C

Rata de masurare: pana la 60 Hz

Camp vizual (FoV): 63° diagonal, configurabil software

Detectie multi-zona: 8x8 zone (64 zone) sau 4x4 zone (16 zone), configurabil

Distanta absoluta: 0 - 400 cm

Rezolutie distanta: 1 mm (tipic)

Protectie: Capac optic pentru rezistenta la praf si precizie crescuta

Dimensiuni: 10.5 x 25 mm

 

Pinout:

Conector Pin Functie
Header comunicare VIN Alimentare senzor 3 - 5 VDC
Header comunicare GND Masa
Header comunicare SCL Ceas pentru comunicatia I2C
Header comunicare SDA Date pentru comunicatia I2C
Header comunicare INT Semnal de intrerupere (interrupt), pentru trezirea gazdei la detectia unui obiect
Header comunicare LPn Control Low Power si resetare senzor, activ pe LOW

 

Utilizare:

Lipiti setul de pini pe placa daca doriti montarea pe breadboard, respectand orientarea gaurilor marcate pe cablaj.

Conectati modulul la microcontroler prin interfata I2C, legand SDA si SCL la pinii corespunzatori de pe placa de dezvoltare.

Alimentati modulul la o tensiune din intervalul 3 - 5 VDC pe pinul VIN si conectati GND la masa comuna a sistemului.

Nu inversati polaritatea alimentarii si nu depasiti tensiunea maxima admisa de 5 VDC.

Initializati senzorul folosind o biblioteca dedicata VL53L5CX, disponibila pentru Arduino, ESP32 sau alte platforme.

Setati rezolutia dorita, 4x4 sau 8x8 zone, si rata de masurare, de pana la 60 Hz, inainte de a incepe achizitia de date.

Cititi valorile de distanta pentru fiecare zona si prelucrati-le in functie de aplicatie, fie pentru detectie de obstacole, fie pentru mapare sau recunoasterea gesturilor.

Folositi pinul INT pentru a trezi microcontrolerul la detectia unui obiect in apropiere atunci cand activati modul de consum redus.

Folositi pinul LPn pentru a activa sau dezactiva senzorul, mentinandu-l pe HIGH pentru functionare normala.

Pentru rezultate stabile, pastrati capacul optic curat, fara praf sau urme de degete, si evitati suprafetele foarte reflectorizante in fata senzorului la distante mici.

88260
Chipset
VL53L5CX

Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.

Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.

 

Avertismente generale de siguranta:

Acest produs este destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie, cercetare si aplicatii tehnice similare. Produsul trebuie utilizat doar conform specificatiilor tehnice mentionate in pagina produsului si/sau in documentatia disponibila.

Utilizarea incorecta, depasirea valorilor maxime admise de tensiune, curent, temperatura sau conectarea gresita pot duce la defectarea produsului, deteriorarea altor echipamente sau la riscuri de siguranta.

Produsul nu este jucarie si nu este destinat copiilor. Montajul, testarea si utilizarea trebuie realizate de persoane cu cunostinte minime in domeniul electric/electronic. Se recomanda utilizarea produsului in montaje protejate, carcase adecvate sau sisteme care respecta normele de siguranta aplicabile.

 

Identificare produs:

Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.

 

Producator / Importator / Distribuitor:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Website: www.sigmanortec.ro

 

Persoana responsabila in UE:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

/*
  Arduino sketch for the VL53L5CX 8x8-zone Time-of-Flight sensor module
  Board used: Arduino Uno (or any 5V/3.3V compatible board with I2C)

  Wiring (module pin -> Arduino pin):
    VIN -> 5V   (module accepts 3 - 5 VDC)
    GND -> GND
    SCL -> A4 (SDA) ... see below, SCL -> A5
    SDA -> A4
    SCL -> A5
    INT -> D2   (optional, interrupt output, active LOW)
    LPn -> D3   (optional, keep HIGH for normal operation)

  Library required (install from Arduino Library Manager):
    "SparkFun VL53L5CX Arduino Library"
    (search for VL53L5CX in the Library Manager and install the SparkFun version)

  This sketch initializes the sensor, sets the 8x8 zone resolution,
  starts ranging and prints the distance of every zone on the Serial Monitor.
*/

#include <Wire.h>
#include <SparkFun_VL53L5CX_Library.h>

SparkFun_VL53L5CX imager;
VL53L5CX_ResultsData measurementData;

int imageResolution = 0;
int imageWidth = 0;

const int INT_PIN = 2;
const int LPN_PIN = 3;

void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("VL53L5CX 8x8 zone Time-of-Flight sensor test");

  pinMode(LPN_PIN, OUTPUT);
  digitalWrite(LPN_PIN, HIGH); // keep sensor enabled, HIGH = normal operation

  pinMode(INT_PIN, INPUT);

  Wire.begin();
  Wire.setClock(400000); // fast I2C mode

  Serial.println("Initializing sensor, this can take a few seconds...");
  if (imager.begin() == false)
  {
    Serial.println("Sensor not found, check wiring and power. Freezing...");
    while (1)
      ;
  }

  imager.setResolution(64); // 8x8 = 64 zones, use 16 for 4x4
  imageResolution = imager.getResolution();
  imageWidth = sqrt(imageResolution);

  imager.setRangingFrequency(15); // Hz, up to 60 Hz depending on resolution
  imager.startRanging();

  Serial.println("Sensor ready, starting measurements.");
}

void loop()
{
  if (imager.isDataReady() == true)
  {
    if (imager.getRangingData(&measurementData))
    {
      Serial.println("---- New frame ----");
      for (int y = 0; y < imageWidth; y++)
      {
        for (int x = 0; x < imageWidth; x++)
        {
          int index = x + y * imageWidth;
          Serial.print(measurementData.distance_mm[index]);
          Serial.print("\t");
        }
        Serial.println();
      }
    }
  }

  delay(5);
}

Modulul cu senzorul VL53L5CX este o camera de distanta Time-of-Flight (ToF) care imparte campul vizual intr-o grila de pana la 8x8 zone si returneaza simultan distanta masurata in fiecare zona, nu doar o singura valoare ca senzorii clasici de distanta.

Este util in proiecte de detectie a obstacolelor pentru roboti mobili, numarare de persoane la o usa, gesture control, oprirea automata a unui utilaj la apropierea unei maini sau maparea simpla a unei camere, acolo unde o singura citire de distanta nu este suficienta.

Modul Senzor ToF VL53L5CX 8x8 zone, I2C, 3-5 VDC

Cum functioneaza:

Senzorul emite impulsuri de lumina laser invizibila cu un emitator VCSEL pe 940 nm si masoara cat timp ii ia luminii sa ajunga la obiect si sa se intoarca la matricea de fotodetectori SPAD din interiorul cipului.

Principiul de baza al oricarui senzor ToF este distanta egala cu viteza luminii inmultita cu timpul de zbor si impartita la doi, adica d = (c x t) / 2, unde c este viteza luminii, aproximativ 3 x 10 la puterea 8 metri pe secunda, iar t este timpul masurat dus-intors.

In cazul VL53L5CX acest calcul este facut intern, de electronica proprie a senzorului, iar rezultatul ajunge gata procesat prin I2C, in milimetri, pentru fiecare dintre cele pana la 64 de zone, la o rata de pana la 60 Hz.

Senzorul poate lucra in rezolutie 4x4 zone, pentru aplicatii simple si rapide, sau 8x8 zone, pentru un detaliu mai mare al scenei, iar distanta maxima utila este de aproximativ 4 metri, cu o precizie tipica in jurul a 5 la suta din distanta masurata, dependenta de reflectanta tintei si de conditiile de lumina ambientala.

 

Ce ai nevoie:

 

Conectare:

Modulul se alimenteaza pe pinul VIN cu o tensiune din intervalul 3 - 5 VDC, astfel incat poate fi conectat direct la iesirea de 5 V a unui Arduino Uno, fara convertor de nivel suplimentar, placa avand deja regulatorul si adaptarea de nivel logic necesare pentru SDA si SCL. Pinii LPn si INT sunt optionali pentru o conectare de baza, dar ii folosim in acest tutorial pentru a arata cum se controleaza pornirea senzorului si cum se poate citi starea de intrerupere.

Pin produs Pin Arduino Uno Rol
VIN 5V Alimentare modul
GND GND Masa comuna
SCL A5 Ceas I2C
SDA A4 Date I2C
LPn D3 Activare senzor, HIGH pentru functionare normala
INT D2 Semnal de intrerupere la detectia unui obiect

Conectare modul VL53L5CX la Arduino Uno prin I2C

 

Biblioteci:

Instalati din Library Manager biblioteca SparkFun VL53L5CX Arduino Library, autor SparkFun Electronics, versiunea minima 1.0.3, cautand exact acest nume. Biblioteca Wire pentru comunicatia I2C este inclusa deja in Arduino IDE si nu trebuie instalata separat.

 

Codul:

Urmatorul program initializeaza senzorul, seteaza rezolutia la 8x8 zone si afiseaza pe monitorul serial grila de distante citita la fiecare cadru.

/*
  VL53L5CX 8x8 Multizone Time-of-Flight Sensor - Basic Reading Example
  Board: Arduino Uno
  Library: SparkFun VL53L5CX Arduino Library (by SparkFun Electronics)
  This sketch initializes the VL53L5CX sensor over I2C, sets the
  resolution to 8x8 zones and continuously prints the distance grid
  (in millimeters) to the Serial Monitor.
*/
#include <Wire.h>
#include <SparkFun_VL53L5CX_Library.h>
// Pins used to control the sensor from the Arduino Uno
const int LPN_PIN = 3; // Low power / enable pin, HIGH = sensor enabled
const int INT_PIN = 2; // Interrupt output pin from the sensor
SparkFun_VL53L5CX myImager;
VL53L5CX_ResultsData measurementData; // Holds one frame of ranging data
int imageResolution = 0; // Current resolution reported by the sensor (16 or 64)
int imageWidth = 0;      // Grid width used only for pretty printing
void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("VL53L5CX 8x8 Zone Distance Example");
  // Configure control pins
  pinMode(LPN_PIN, OUTPUT);
  digitalWrite(LPN_PIN, HIGH); // Enable the sensor (LPn HIGH = normal operation)
  pinMode(INT_PIN, INPUT_PULLUP);
  Wire.begin();
  Wire.setClock(400000); // Optional, use 400kHz I2C for faster frame transfer
  Serial.println("Initializing sensor, this can take up to 10 seconds...");
  if (myImager.begin() == false)
  {
    Serial.println("Sensor not found - check wiring and LPn pin. Freezing.");
    while (1)
      ;
  }
  myImager.setResolution(8 * 8); // Enable all 64 zones
  imageResolution = myImager.getResolution(); // Confirm resolution (16 or 64)
  imageWidth = sqrt(imageResolution);         // 4 or 8
  myImager.startRanging();
  Serial.println("Sensor ready, starting measurements.");
}
void loop()
{
  // Just for demonstration, read the interrupt pin state
  bool interruptActive = (digitalRead(INT_PIN) == LOW);
  if (myImager.isDataReady())
  {
    if (myImager.getRangingData(&measurementData))
    {
      Serial.print("Interrupt active: ");
      Serial.println(interruptActive ? "yes" : "no");
      // Print the distance grid, row by row
      for (int row = 0; row < imageWidth; row++)
      {
        for (int col = 0; col < imageWidth; col++)
        {
          int index = row * imageWidth + col;
          Serial.print(measurementData.distance_mm[index]);
          Serial.print("\t");
        }
        Serial.println();
      }
      Serial.println();
    }
  }
  delay(50); // Small delay between polling cycles
}

 

Cum functioneaza codul:

La inceputul programului se definesc pinii LPN_PIN si INT_PIN, se creeaza obiectul myImager din clasa SparkFun_VL53L5CX si structura measurementData, in care biblioteca va pune datele citite de la senzor, iar variabilele imageResolution si imageWidth retin rezolutia curenta si latura grilei pentru afisare ordonata.

In functia setup se porneste comunicatia seriala la 115200 baud, se configureaza LPN_PIN ca iesire si se seteaza pe HIGH pentru a activa senzorul, iar INT_PIN se configureaza ca intrare cu pull-up intern. Dupa Wire.begin se apeleaza myImager.begin, care initializeaza senzorul si incarca firmware-ul intern, apoi myImager.setResolution(8 * 8) activeaza toate cele 64 de zone si myImager.startRanging() porneste masuratorile continue.

In functia loop se verifica mai intai starea pinului INT_PIN, doar pentru a arata ca senzorul semnaleaza activ noi date, apoi se foloseste myImager.isDataReady() pentru a sti cand un cadru nou este gata, iar myImager.getRangingData(&measurementData) aduce valorile de distanta in mm in vectorul measurementData.distance_mm, pe care programul il parcurge linie cu linie pentru a afisa grila pe monitorul serial.

 

Rezultat:

Deschideti monitorul serial la 115200 baud, dupa incarcarea codului si dupa initializarea senzorului veti vedea periodic o grila de 8x8 valori, fiecare reprezentand distanta in milimetri masurata in zona respectiva a campului vizual.

VL53L5CX 8x8 Zone Distance Example
Initializing sensor, this can take up to 10 seconds...
Sensor ready, starting measurements.
Interrupt active: no
512    498    505    511    620    615    609    598
520    501    499    507    611    602    598    590
530    510    495    500    600    590    585    580
545    522    501    498    588    579    570    565
560    535    510    495    575    566    560    552
578    548    520    500    562    555    548    540
595    562    530    505    550    542    535    528
610    578    540    512    540    532    525    518

 

Probleme frecvente:

Daca pe monitorul serial apare mesajul ca senzorul nu a fost gasit, verificati mai intai conexiunile SDA si SCL, firele inversate intre ele fiind cea mai frecventa cauza, si asigurati-va ca LPn este pe HIGH, nu flotant sau legat la masa.

Daca valorile afisate sunt mereu 0 sau foarte mari si instabile, verificati daca ati apelat myImager.startRanging() dupa setarea rezolutiei si daca lasati un mic delay intre citiri, functia loop prea rapida fara verificarea isDataReady poate citi cadre partiale.

Daca modulul functioneaza corect la prima pornire dar se blocheaza dupa un timp, verificati alimentarea, un cablu VIN prea subtire sau o sursa instabila pot cauza resetari ale senzorului mai ales cand sunt mai multe module I2C pe acelasi bus.

Daca folositi mai multe senzoare VL53L5CX pe acelasi bus I2C si doar unul raspunde, tineti LPn pe LOW la toate senzoarele in afara de unul, schimbati-i adresa I2C din cod, apoi activati pe rand si urmatorul senzor, fiecare avand nevoie de o adresa unica.

Daca distantele citite difera fata de o masuratoare cu ruleta, tineti cont ca senzorul raporteaza distanta perpendiculara pe suprafata tintei, nu distanta in linie dreapta spre un punct unghiular, iar suprafetele foarte reflectorizante sau foarte inchise la culoare pot reduce raza utila.

 

Limitari si sfaturi:

Senzorul masoara distante utile de pana la aproximativ 4 metri, cu o precizie tipica in jurul a 5 la suta din distanta, care scade in conditii de lumina solara puternica directa pe tinta sau pe obiectiv.

Rata de 60 Hz este un maxim teoretic disponibil mai ales la rezolutie 4x4, la 8x8 zone timpul de procesare per cadru este mai mare, asa ca pentru aplicatii rapide alegeti rezolutia 4x4 daca nu aveti nevoie de detaliu fin al scenei.

Capacul optic de protectie trebuie pastrat curat, praful sau amprentele de pe el pot introduce erori de masurare sau pot reduce raza de actiune a senzorului.

Pornind de la acest montaj de baza puteti construi un detector de prezenta pe mai multe zone, un sistem simplu de evitare a obstacolelor pentru un robot mobil sau o aplicatie de numarare a persoanelor care trec printr-un cadru de usa, folosind grila de 64 de zone pentru a distinge mai multe tinte in acelasi camp vizual.