Utilización del módulo ToF basado en VL53L0X

Vamos a probar un módulo ToF comercial basado en VL53L0X. Este sensor complementa al VL6180X, con el que ya trabajamos, en cuanto de rango de media. A diferencia del anterior, alcanza los 2 metros de distancia. No obstante, como ahora veremos, su rango real -así como su precisión- dependerá del modo de funcionamiento en que lo configuremos.

Montaje del circuito de pruebas

Realizaremos el montaje mostrado en la figura basado en los siguientes componentes:

  • Protoboard
  • Wemos D1 mini
  • Módulo VL53L0X
  • Cables de conexión

Como se puede comprobar en la figura, conectaremos los pines SCL y SDA a los pines D1 y D2 respectivamente. Alimentaremos el módulo ToF a 3,3 voltios.

Programación de Arduino

Utilizaremos el siguiente código para comprobar el sensor:

#include "Adafruit_VL53L0X.h"

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

void setup() {
  Serial.begin(115200);

  // espera al dispositivo USB
  while (! Serial) {
    delay(1);
  }
  
  Serial.println("Adafruit VL53L0X test!");
  if (!lox.begin()) {
    Serial.println(F("No se encuentra el sensor"));
    while(1);
  }
  //lox.configSensor(Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT);
  //lox.configSensor(Adafruit_VL53L0X::VL53L0X_SENSE_LONG_RANGE);
  //lox.configSensor(Adafruit_VL53L0X::VL53L0X_SENSE_HIGH_SPEED);
  //lox.configSensor(Adafruit_VL53L0X::VL53L0X_SENSE_HIGH_ACCURACY);

  Serial.println(F("Sensor encontrado!")); 
}


void loop() {
  VL53L0X_RangingMeasurementData_t measure;

  lox.rangingTest(&measure, false);
  
  if (measure.RangeStatus != 4) { 
    Serial.print("- Distancia (mm): "); Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" fuera de rango ");
  }
  delay(100);
}

Como se pude ver en el código, nos hemos apoyado en las librerías de Adafruit para este módulo en concreto. El bucle principal se limita a realizar periódicamente una medida de distancia y publicarla en el puerto serie. Podemos descomentar una de las líneas entre la 18 y la 21 para seleccionar el modo de medida.

Realización de las pruebas y resultados

Vamos a colocar el sensor ToF perpendicular a un objeto (en este caso, una caja de cartón) que iremos alejando y tomaremos medidas de la distancia real y la compararemos con las obtenidas por el dispositivo. Compararemos los modos por defecto y el de larga distancia.

Modo por defecto

Como se aprecia en la figura, el dispositivo empieza realmente a detectar distancias a partir de los 30 mm, manteniendo la precisión del milímetro hasta los 400 mm de distancia. A partir de ahí la precisión se va reduciendo a un tope de 900 mm de distancia, a partir de la cual deja de medir.

Modo de larga distancia

Como se aprecia en la figura, al igual que antes, el dispositivo empieza realmente a detectar distancias a partir de los 30 mm, manteniendo la precisión del milímetro hasta los 200 mm de distancia. A partir de ahí la precisión se va reduciendo a un tope de 2000 mm de distancia, a partir de la cual deja de medir.

Deja un comentario