Uso di un misuratore di distanza laser CJMCU VL53L0X con Arduino

Uso di un misuratore di distanza laser CJMCU VL53L0X con Arduino

Questo tutorial dimostra come usare il misuratore di distanza laser CJMCU VL53L0X con un Arduino. Questo modulo, dotato di un sensore time-of-flight Texas Instruments VL53L0X e di uno shift bidirezionale di livello TXS0108E (nel video a 00:06), offre misurazioni di distanza precise fino a due metri (nel video a 00:52). La sua compatibilità con diversi livelli logici (3.3V, 1.8V, 5V) semplifica l'integrazione con vari microcontrollori (nel video a 00:21). Questo progetto apre a un'ampia gamma di possibilità.

Idee per progetti:

  • Robotica: Implementare l'evitamento degli ostacoli nei robot.
  • Automazione: controllo dei macchinari in base alla prossimità.
  • Casa intelligente: Crea un'illuminazione automatica in base alla distanza.
  • Sicurezza: sviluppare un sistema di allarme basato sulla prossimità.

Hardware/Componenti

Per costruire questo progetto, avrai bisogno dei seguenti componenti:

  • Scheda Arduino (qualsiasi modello andrà bene)
  • Modulo misuratore di distanza laser CJMCU VL53L0X
  • Cavi jumper

Guida al cablaggio

Il modulo VL53L0X si collega all'Arduino come segue:

Collega il pin VCC del modulo al pin 5V dell'Arduino. Il regolatore interno del modulo gestisce i 3.3V necessari per il sensore. (nel video a 01:50)

Collega il pin GND del modulo al pin GND dell'Arduino.

Collega il pin SDA del modulo al pin A4 dell'Arduino.

Collega il pin SCL del modulo al pin A5 sull'Arduino.

Lascia il pin XSHUT scollegato a meno che tu non debba usarlo per il controllo di spegnimento. (nel video alle 03:50)

Spiegazione del codice

Il codice fornito utilizza la libreria VL53L0X. Ecco una spiegazione delle parti chiave configurabili:


#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  // ... other setup code ...
  sensor.setTimeout(500); // Set timeout to 500ms (in video at 06:40)
  sensor.startContinuous(); // Start continuous measurement mode (in video at 06:50)
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters()); // Read distance in mm (in video at 07:01)
  // ... other loop code ...
}

Thesensor.setTimeout(500)La riga imposta il timeout per le misurazioni della distanza a 500 millisecondi. Regola questo valore se necessario per la tua applicazione (nel video alle 06:40). Ilsensor.startContinuous()La funzione avvia il rilevamento continuo della distanza, fornendo letture il più rapidamente possibile (nel video al 06:50). Lasensor.readRangeContinuousMillimeters()la funzione restituisce la distanza misurata in millimetri (nel video alle 07:01).

Progetto dal vivo/Demostrazione

Il video dimostra il funzionamento del sensore, mostrando come le letture della distanza cambiano al variare della distanza del sensore dall'obiettivo. Le letture sono accurate entro pochi millimetri, soprattutto a distanze superiori a 10mm (nel video a 08:20). A distanze molto ravvicinate (inferiori a 10mm), l'accuratezza diminuisce (nel video a 09:50). La dimostrazione mostra anche che superfici riflettenti possono influenzare le letture, soprattutto se il laser non è perpendicolare alla superficie (nel video a 10:32).

Capitoli

  • [00:00] Introduzione e panoramica del progetto
  • [00:48] Dettagli del sensore VL53L0X
  • [01:41] Panoramica e specifiche del modulo
  • [02:55] Applicazioni e Standard
  • [03:35] Pinout e connessioni
  • [05:29] Spiegazione del codice
  • [07:45] Cablaggio e connessioni
  • [08:18] Dimostrazione dal vivo
136-Source code for the VL523L0X distance measurement module for Arduino
Lingua: C++
Copia!

Risorse e riferimenti

File📁

Nessun file disponibile.