Guia de uso do Sensor VL53L0X Tempo de Voo com Exemplos no Arduino

Tempo de leitura: 5 minutes

O VL53L0X é um módulo de alcance a laser Time-of-Flight (ToF) de nova geração alojado no menor pacote do mercado hoje, fornecendo medição de distância precisa independentemente das refletâncias alvo, ao contrário das tecnologias convencionais. Ele pode medir distâncias absolutas de até 2m, estabelecendo uma nova referência em níveis de desempenho variados, abrindo a porta para várias novas aplicações.

O VL53L0X integra um array SPAD de ponta (Single Photon Avalanche Diodes) e incorpora a tecnologia patenteada FlightSenseTM de segunda geração da ST.

Aqui está um módulo típico

O emissor VCSEL de 940 nm do VL53L0X (Laser Emissor de Superfície de Cavidade Vertical), é totalmente invisível ao olho humano, juntamente com filtros infravermelhos físicos internos, permite distâncias de alcance mais longas, maior imunidade à luz ambiente e melhor robustez para cobrir crosstalk óptico de vidro.

Sensor VL53L0X: Visão geral

Apresentando o menor tempo de voo e sensor de detecção de gestos do mundo, VL53L0X. Parte da nova geração de módulos de alcance a laser ST, fornece medição de distância precisa, ao contrário de outros sensores de proximidade!

Apesar de seu formato pequeno, ele ainda contém uma infinidade de recursos, a saber:

Módulo em miniatura totalmente integrado

  • Laser VCSEL de 940 nm
  • Driver VSCEL
  • Sensor de alcance com um microcontrolador avançado incorporado
  • 4,4 x 2,4 x 1,0 mm (sim, tão pequeno!)

Alcance de distância rápido e preciso

  • Mede até 2m (intervalo absoluto)
  • O intervalo relatado é independente da refletância do alvo
  • Compensação de cross-talk ótica incorporada avançada para simplificar a seleção da tampa

Seguro de usar, em conformidade com IEC

  • Dispositivo a laser Classe 1 compatível com o padrão mais recente IEC 60825-1: 2014 – 3ª edição

Integração fácil

  • Componente único refluível
  • Sem ótica adicional
  • Requer apenas uma única fonte de alimentação
  • O controle do dispositivo e a transferência de dados são feitos através da interface I2C
  • Xshutdown (reset) e interromper GPIO
  • Endereço I2C programável

Com admiração por todos esses recursos? Tem mais! O VL53L0X é amplamente aplicável, atendendo a todas as suas necessidades potenciais! Os aplicativos são os seguintes:

  • Detecção de usuário para computadores pessoais / laptops / tablets e IoT (economia de energia)
  • Detecção de obstáculos com robôs (robótica)
  • Linha branca (detecção de mão em torneiras automáticas, dispensadores de sabonete, etc.)
  • Reconhecimento de gesto 1D
  • Foco automático assistido por laser. Melhora e acelera o desempenho do sistema de foco automático da câmera, especialmente em cenas difíceis (baixos níveis de luz, baixo contraste) ou modo de vídeo de movimento rápido

Por que o VL53L0X é melhor do que outros sensores de proximidade?

VL53L0X (tecnologia Time-of-Flight) Outros sensores de proximidade (tecnologia IR)
Como a distância é medida Meça diretamente a distância a um objeto com base no tempo para os fótons emitidos serem refletidos Meça a distância até um objeto com base na quantidade de luz refletida
Variáveis afetadas Não afetado pelas características do objeto: tamanho, dimensões, materiais usados, etc. Afetado pelas características do objeto
Afetados por fatores ambientais; condições de iluminação

Com o VL53L0X usando tecnologia de tempo de vôo para medição de distância, ele é insensível a variáveis externas, como características de objetos. Isso o torna uma opção muito mais precisa em comparação com outros sensores de proximidade, como a tecnologia IR, conforme visto!

Agora, para uma curiosidade!

Você sabia que antes do VL53L0X, os primeiros a adotar a tecnologia de sensor de tempo de vôo é o que você vê acima? Sim, Microsoft Kinect para XBOX 360!

A tecnologia do controlador Kinect é então miniaturizada, aprimorada e simplificada para criar sensores de alcance de distância vistos em seu VL53L0X!

Módulo VL53L0X:  Sensor de distância Flight of Time

Para começar a usar o sensor VL53L0X, você precisará de um módulo que o integre para facilitar a interface do microcontrolador. Este é o Módulo- Sensor de Distância de Tempo de Voo, baseado no VL53LOX, e faz exatamente isso!

Suas especificações:

Características Detalhes
Tensão operacional 3.3V / 5V
Temperatura de operação -20℃ – 70℃
Distância de medição recomendada 30mm – 1000mm
(3cm – 100cm)
Resolução 1mm
Emissor infravermelho 940 nm
Taxa de ônibus Barramento serial de até 400kHz (modo FAST)
Endereço IIC 0x29

Além de suas especificações, o Módulo – Distância do Voo do Tempo contém exatamente os mesmos recursos, possibilidades de aplicação e muito mais!

 

Esquemas / Layout

 

VL53L0X Arduino Guide

Já falamos sobre o VL53L0X e agora é a hora do momento que você está esperando; Como emparelhar o VL53L0X com um Arduino? Aqui está um guia para ajudá-lo a começar imediatamente!

Código

#include "Adafruit_VL53L0X.h"
 
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 
void setup() {
  Serial.begin(115200);
 
  // aguarde até a porta serial abrir para dispositivos USB nativos
  while (! Serial) {
    delay(1);
  }
 
  Serial.println("Adafruit VL53L0X teste");
  if (!lox.begin()) {
    Serial.println(F("Falha ao inicializar VL53L0X"));
    while(1);
  }
  Serial.println(F("Exemplo de VL53L0X API Simple Ranging\n\n")); 
}
 
void loop() {
  VL53L0X_RangingMeasurementData_t measure;
 
  Serial.print("Lendo uma medição... ");
  lox.rangingTest(&measure, false); // passe 'true' para obter a impressão dos dados de depuração!
 
  if (measure.RangeStatus != 4) {  // falhas de fase têm dados incorretos
    Serial.print("Distância (mm): "); 
    Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" fora de alcance ");
  }
 
  delay(100);
}

Resultado

Abra o monitor serial, mova o sensor para mais perto e mais longe de objetos, por exemplo, sua mão

Exemplo de VL53L0X API Simple Ranging

Lendo uma medição … Distância (mm): 70
Lendo uma medição … Distância (mm): 70
Lendo uma medição … Distância (mm): 71
Lendo uma medição … Distância (mm): 72
Lendo uma medição … Distância (mm): 71
Lendo uma medição … Distância (mm): 71
Lendo uma medição … Distância (mm): 70
Lendo uma medição … Distância (mm): 71
Lendo uma medição … Distância (mm): 67
Lendo uma medição … Distância (mm): 114

 

Documentação Útil

Datasheet (aqui) (aqui)

Conclusão

Neste guia, mostrei como usar um sensor VL53L0X Tempo de Voo com o Arduino. Espero que você tenha achado útil e informativo. Se sim, compartilhe com um amigo que também gosta de eletrônica e de fazer coisas!

Eu adoraria saber quais projetos você planeja construir (ou já construiu) com esses Sensores VL53L0X. Se você tiver alguma dúvida, sugestão ou se achar que falta algo neste tutorial, por favor, deixe um comentário abaixo.

Visits: 2 Visits: 1191405