Modulo sensore ToF VL53L5CX a 8x8 zone con laser VCSEL, I2C
zoom_out_map
chevron_left chevron_right

Le immagini dei prodotti sono solo a scopo informativo e potrebbero presentare piccole differenze, a seconda del lotto e del fornitore. Le specifiche e i prezzi dei prodotti potrebbero essere soggetti a modifiche senza preavviso. Facciamo del nostro meglio per aggiungere specifiche quanto più precise e corrette possibili alla pagina del prodotto, ma è possibile che non siano del tutto corrette. Se identifichi un caso del genere, ti preghiamo di segnalarcelo.

Il prodotto è destinato agli specialisti e richiede personale qualificato e autorizzato. Il prodotto non include istruzioni di montaggio/uso . La messa in funzione del prodotto da parte di persone non qualificate comporta la perdita della garanzia secondo i Termini e Condizioni presenti sul sito.

Le specifiche tecniche indicate (corrente, potenza, ecc.) rappresentano valori massimi consentiti in condizioni ideali di funzionamento. Per un utilizzo sicuro e una durata ottimale, si raccomanda di utilizzare il prodotto in regime continuo a non più del 50% dei valori massimi specificati.

Nuovo

Modulo sensore ToF VL53L5CX 8x8 zone, I2C, 3-5 VDC

Sensore Time-of-Flight VL53L5CX ad alta precisione con rilevamento multi-zona configurabile fino a 8x8 (64 zone), misura la distanza fino a 4 metri utilizzando un laser VCSEL invisibile e funziona a frequenze fino a 60 Hz. Interfaccia I2C, alimentazione 3 - 5 VDC, compatibile con Arduino, ESP32, Raspberry Pi e altre piattaforme, adatto per robotica, mappatura dell'ambiente, rilevamento ostacoli e sistemi intelligenti.

9.819,43 Ft Tasse incluse

8.115,23 Ft Tasse escluse

Non ci sono ancora recensioni

Spedito entro giovedì 22 ottobre

Acquistando questo prodotto guadagni 490,97 Ft in punti fedeltà.

Garanzia: 24 mesi per le persone fisiche
SPEDIZIONE INTERNAZIONALE
Spedizione veloce gratuita per ordini superiori a 100EUR nella maggior parte de paesi UE.
SPEDIZIONE VELOCE 24 ORE
Spediamo dal nostro magazzino entro 24 ore
PUNTI FEDELTÀ
Ricevi punti a ogni ordine, per un valore del 5%.

Il modulo sensore VL53L5X V2 integra il chip VL53L5CX, un sensore Time-of-Flight (ToF) sviluppato da STMicroelectronics, che misura la distanza tramite il tempo di volo della luce emessa da un laser VCSEL. A differenza dei classici sensori IR basati sull’intensità della luce riflessa, la tecnologia ToF offre una misurazione assoluta della distanza, indipendentemente dal colore o dalla riflettanza dell’oggetto bersaglio, rendendolo adatto per robotica, rilevamento ostacoli, mappatura dell’ambiente, sistemi di accesso, dispositivi intelligenti e automazioni.

Il sensore offre un rilevamento multi-zona configurabile, con una griglia fino a 8x8 zone, cioè 64 zone di misurazione simultanea, oppure 4x4 zone per applicazioni più semplici. Ampio campo visivo di 63° diagonale, e ogni zona consente la misurazione della distanza fino a un bersaglio fino a 4 metri, con una frequenza massima di 60 Hz. L’emettitore è un laser VCSEL a 940 nm, invisibile all’occhio umano, e gli algoritmi di tipo istogramma sviluppati da ST consentono il rilevamento di più oggetti distinti nello stesso campo visivo e migliorano l’immunità ai riflessi di un eventuale vetro di protezione.

Tra le principali caratteristiche si annoverano i pin dell’interfaccia VIN, GND, SCL, SDA, INT e LPn marcati direttamente sul circuito, il coperchio ottico di protezione montato sopra il sensore per resistenza alla polvere e maggiore precisione, nonché i due fori di montaggio presenti sulla scheda. L’alimentazione avviene con una tensione nell’intervallo 3 - 5 VDC, applicata al pin VIN, e il set di pin incluso consente il montaggio su breadboard o la saldatura di cavi.

Tramite l’interfaccia I2C, il modulo è compatibile con Arduino, ESP32, STM32, Raspberry Pi e altre piattaforme che dispongono di questa interfaccia.

 

Specifiche:

Sensore: VL53L5CX (STMicroelectronics)

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

Tensione di alimentazione: 3 - 5 VDC

Interfaccia di comunicazione: I2C

Frequenza di misurazione: fino a 60 Hz

Campo visivo (FoV): 63° diagonale, configurabile via software

Rilevamento multi-zona: 8x8 zone (64 zone) o 4x4 zone (16 zone), configurabile

Distanza assoluta: 0 - 400 cm

Risoluzione della distanza: 1 mm (tipica)

Protezione: Coperchio ottico per resistenza alla polvere e maggiore precisione

Dimensioni: 10.5 x 25 mm

 

Pinout:

Connettore Pin Funzione
Header comunicazione VIN Alimentazione sensore 3 - 5 VDC
Header comunicazione GND Massa
Header comunicazione SCL Clock per la comunicazione I2C
Header comunicazione SDA Dati per la comunicazione I2C
Header comunicazione INT Segnale di interruzione (interrupt), per il risveglio dell’host al rilevamento di un oggetto
Header comunicazione LPn Controllo Low Power e reset del sensore, attivo LOW

 

Utilizzo:

Saldare il set di pin sulla scheda se si desidera il montaggio su breadboard, rispettando l’orientamento dei fori marcati sul circuito.

Collegare il modulo al microcontrollore tramite l’interfaccia I2C, collegando SDA e SCL ai pin corrispondenti sulla scheda di sviluppo.

Alimentare il modulo con una tensione nell’intervallo 3 - 5 VDC sul pin VIN e collegare GND alla massa comune del sistema.

Non invertire la polarità dell’alimentazione e non superare la tensione massima consentita di 5 VDC.

Inizializzare il sensore utilizzando una libreria dedicata VL53L5CX, disponibile per Arduino, ESP32 o altre piattaforme.

Impostare la risoluzione desiderata, 4x4 o 8x8 zone, e la frequenza di misurazione, fino a 60 Hz, prima di iniziare l’acquisizione dei dati.

Leggere i valori di distanza per ciascuna zona e elaborarli in base all’applicazione, sia per il rilevamento di ostacoli, sia per la mappatura o il riconoscimento dei gesti.

Utilizzare il pin INT per risvegliare il microcontrollore al rilevamento di un oggetto nelle vicinanze quando si attiva la modalità a basso consumo.

Utilizzare il pin LPn per attivare o disattivare il sensore, mantenendolo su HIGH per il funzionamento normale.

Per risultati stabili, mantenere pulito il coperchio ottico, senza polvere o impronte, ed evitare superfici molto riflettenti davanti al sensore a distanze ridotte.

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:

Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.

Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.

Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.

Nu lasati produsul alimentat nesupravegheat in timpul testelor.

Produsul nu este jucarie si nu este destinat copiilor.

Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.

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]

Documentatie si siguranta:

Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [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);
}

Il modulo con sensore VL53L5CX è una camera di distanza Time-of-Flight (ToF) che divide il campo visivo in una griglia fino a 8x8 zone e restituisce simultaneamente la distanza misurata in ogni zona, non un solo valore come i sensori di distanza classici.

È utile nei progetti di rilevamento ostacoli per robot mobili, conteggio di persone a una porta, controllo gestuale, arresto automatico di un macchinario all'avvicinarsi di una mano o mappatura semplice di una stanza, dove una singola lettura di distanza non è sufficiente.

Modulo sensore ToF VL53L5CX 8x8 zone, I2C, 3-5 VDC

Come funziona:

Il sensore emette impulsi di luce laser invisibile con un emettitore VCSEL a 940 nm e misura quanto tempo impiega la luce a raggiungere l'oggetto e a tornare alla matrice di fotorilevatori SPAD all'interno del chip.

Il principio di base di qualsiasi sensore ToF è che la distanza è uguale alla velocità della luce moltiplicata per il tempo di volo e divisa per due, cioè d = (c x t) / 2, dove c è la velocità della luce, circa 3 x 10 alla potenza 8 metri al secondo, mentre t è il tempo misurato di andata e ritorno.

Nel caso del VL53L5CX questo calcolo viene eseguito internamente, dall'elettronica del sensore, e il risultato arriva già elaborato tramite I2C, in millimetri, per ciascuna delle fino a 64 zone, con una frequenza fino a 60 Hz.

Il sensore può lavorare con risoluzione 4x4 zone, per applicazioni semplici e veloci, oppure 8x8 zone, per un maggiore dettaglio della scena, e la distanza massima utile è di circa 4 metri, con una precisione tipica intorno al 5 per cento della distanza misurata, che dipende dalla riflettanza del bersaglio e dalle condizioni di luce ambientale.

Cosa ti serve:

Collegamento:

Il modulo si alimenta sul pin VIN con una tensione compresa tra 3 e 5 VDC, quindi può essere collegato direttamente all'uscita da 5 V di un Arduino Uno, senza convertitore di livello aggiuntivo, perché la scheda dispone già del regolatore e dell'adattamento del livello logico necessari per SDA e SCL. I pin LPn e INT sono opzionali per un collegamento di base, ma in questo tutorial li usiamo per mostrare come si controlla l'accensione del sensore e come si può leggere lo stato di interrupt.

Pin del prodotto Pin Arduino Uno Ruolo
VIN 5V Alimentazione del modulo
GND GND Massa comune
SCL A5 Clock I2C
SDA A4 Dati I2C
LPn D3 Attivazione del sensore, HIGH per il funzionamento normale
INT D2 Segnale di interrupt al rilevamento di un oggetto

Collegamento del modulo VL53L5CX ad Arduino Uno tramite I2C

Librerie:

Installa dal Library Manager la libreria SparkFun VL53L5CX Arduino Library, autore SparkFun Electronics, versione minima 1.0.3, cercando esattamente questo nome. La libreria Wire per la comunicazione I2C è già inclusa nell'Arduino IDE e non deve essere installata separatamente.

Il codice:

Il programma seguente inizializza il sensore, imposta la risoluzione a 8x8 zone e mostra sul monitor seriale la griglia di distanze letta a ogni frame.

/*
  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
}

Come funziona il codice:

All'inizio del programma si definiscono i pin LPN_PIN e INT_PIN, si crea l'oggetto myImager della classe SparkFun_VL53L5CX e la struttura measurementData, in cui la libreria inserirà i dati letti dal sensore, mentre le variabili imageResolution e imageWidth conservano la risoluzione corrente e il lato della griglia per una visualizzazione ordinata.

Nella funzione setup si avvia la comunicazione seriale a 115200 baud, si configura LPN_PIN come uscita e lo si imposta su HIGH per attivare il sensore, mentre INT_PIN viene configurato come ingresso con pull-up interno. Dopo Wire.begin si chiama myImager.begin, che inizializza il sensore e carica il firmware interno, poi myImager.setResolution(8 * 8) attiva tutte le 64 zone e myImager.startRanging() avvia le misurazioni continue.

Nella funzione loop si verifica prima di tutto lo stato del pin INT_PIN, solo per mostrare che il sensore segnala attivamente nuovi dati, poi si usa myImager.isDataReady() per sapere quando un nuovo frame è pronto, mentre myImager.getRangingData(&measurementData) porta i valori di distanza in mm nel vettore measurementData.distance_mm, che il programma scorre riga per riga per mostrare la griglia sul monitor seriale.

Risultato:

Apri il monitor seriale a 115200 baud. Dopo il caricamento del codice e l'inizializzazione del sensore vedrai periodicamente una griglia di 8x8 valori, ciascuno dei quali rappresenta la distanza in millimetri misurata nella rispettiva zona del campo visivo.

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

Problemi frequenti:

Se sul monitor seriale compare il messaggio che il sensore non è stato trovato, verifica prima di tutto i collegamenti SDA e SCL, perché i fili scambiati tra loro sono la causa più frequente, e assicurati che LPn sia su HIGH, non flottante né collegato a massa.

Se i valori mostrati sono sempre 0 oppure molto alti e instabili, controlla di aver chiamato myImager.startRanging() dopo l'impostazione della risoluzione e di lasciare un piccolo delay tra le letture, perché una funzione loop troppo veloce senza il controllo di isDataReady può leggere frame parziali.

Se il modulo funziona correttamente al primo avvio ma si blocca dopo un po' di tempo, controlla l'alimentazione, perché un cavo VIN troppo sottile o un'alimentazione instabile possono causare reset del sensore, soprattutto quando ci sono più moduli I2C sullo stesso bus.

Se usi più sensori VL53L5CX sullo stesso bus I2C e risponde solo uno, tieni LPn su LOW su tutti i sensori tranne uno, cambia il suo indirizzo I2C dal codice, poi attiva a turno anche il sensore successivo, perché ciascuno ha bisogno di un indirizzo univoco.

Se le distanze lette differiscono da una misura fatta con il metro, tieni presente che il sensore riporta la distanza perpendicolare alla superficie del bersaglio, non la distanza in linea retta verso un punto angolare, e che le superfici molto riflettenti o di colore molto scuro possono ridurre la portata utile.

Limiti e consigli:

Il sensore misura distanze utili fino a circa 4 metri, con una precisione tipica intorno al 5 per cento della distanza, che peggiora in condizioni di luce solare forte e diretta sul bersaglio o sull'obiettivo.

La frequenza di 60 Hz è un massimo teorico disponibile soprattutto con risoluzione 4x4, mentre a 8x8 zone il tempo di elaborazione per frame è maggiore, quindi per applicazioni veloci scegli la risoluzione 4x4 se non hai bisogno di un dettaglio fine della scena.

Il coperchio ottico di protezione deve essere mantenuto pulito, perché polvere o impronte possono introdurre errori di misura o ridurre il raggio d'azione del sensore.

Partendo da questo montaggio di base puoi realizzare un rilevatore di presenza su più zone, un semplice sistema di evitamento ostacoli per un robot mobile oppure un'applicazione di conteggio delle persone che passano attraverso il vano di una porta, usando la griglia di 64 zone per distinguere più bersagli nello stesso campo visivo.