Arduino e VL53L0X sensore di distanza laser ir


Ciao!

Oggi ho provato il sensore TOF (time of flight) VL53L0X.
Questo sensore, prodotto da ST, sfrutta un laser infrarosso (quindi non visibile ad occhio umano) a bassa potenza, permettendo di ottenere la distanza dall'oggetto colpito misurando il tempo che la luce impiega ad essere riflessa.




A questo link potete trovare il datasheet del VL53L0X.

Per testare il componente utilizzerò questa libreria realizzata da Pololu, scaricatela ed installatela nel vostro software Arduino.

Ora collegate il modulo al vostro arduino, viene utilizzato il bus I2C, quindi il collegamento è il solito, fate solo attenzione a collegare anche il pin XSHUT al livello alto per abilitare il sensore.



Dopo aver collegato il sensore caricate l'esempio "contunuous" che trovate nella libreria, lo riporto qui sotto:

  1. /* This example shows how to use continuous mode to take
  2. range measurements with the VL53L0X. It is based on
  3. vl53l0x_ContinuousRanging_Example.c from the VL53L0X API.
  4. The range readings are in units of mm. */
  5. #include <Wire.h>
  6. #include <VL53L0X.h>
  7. VL53L0X sensor;
  8. void setup()
  9. {
  10.   Serial.begin(9600);
  11.   Wire.begin();
  12.   sensor.setTimeout(500);
  13.   if (!sensor.init())
  14.   {
  15.     Serial.println("Failed to detect and initialize sensor!");
  16.     while (1) {}
  17.   }
  18.   // Start continuous back-to-back mode (take readings as
  19.   // fast as possible).  To use continuous timed mode
  20.   // instead, provide a desired inter-measurement period in
  21.   // ms (e.g. sensor.startContinuous(100)).
  22.   sensor.startContinuous();
  23. }
  24. void loop()
  25. {
  26.   Serial.print(sensor.readRangeContinuousMillimeters());
  27.   if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
  28.   Serial.println();
  29. }

Adesso aprendo il serial monitor dovreste iniziare a vedere la distanza letta dal sensore.

Questo è tutto!
per qualsiasi domanda lascia pure un commento, risponderò appena possibile.

Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!

6 commenti:

  1. Bell'articolo. Ti posso fare una domanda? COme si fa a formattare la pagina con le zone di codice per ottenere le linee numerate ecc ecc? Molte grazie lpautas gmail

    RispondiElimina
  2. Buongiorno,
    secondo te posso usare e come questo sensore per gestire un motore(asse z) per fare la messa a fuoco costante di una taglierina laser co2?
    grazie in anticipo.

    RispondiElimina
  3. Ciao Daniele, nello sketch da te pubblicato c'e' un errore alla riga 8, riguarda l'include della libreria.
    Ecco quella corretta: #include

    ...una svista puo' sempre capitare :) :)
    Saluti.

    RispondiElimina
    Risposte
    1. Mi ha fregato pure a me..... W pastebin. Manca .h

      Elimina
    2. Corretto, grazie mille per la segnalazione!

      Elimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Altri Post