Usando um medidor de distância a laser VL53L0X com Arduino

Usando um medidor de distância a laser VL53L0X com Arduino

Neste tutorial, exploraremos como usar o medidor de distância a laser VL53L0X com um Arduino. Este dispositivo permite medir distâncias com precisão usando um laser, tornando-o ideal para várias aplicações, como robótica e automação. Ao final deste tutorial, você terá uma configuração funcional que pode medir distâncias e exibi-las no monitor serial.

VL53L0X 200cm range sensor-blue

Para o nosso projeto, usaremos a biblioteca Adafruit VL53L0X, que simplifica o processo de interface com o sensor. Essa biblioteca fornece as funções necessárias para inicializar o sensor, ler medições e lidar com quaisquer erros que possam surgir. Você pode consultar o vídeo para obter um guia visual sobre a configuração (no vídeo às 02:15).

Hardware explicado

Os principais componentes deste projeto incluem o medidor de distância a laser VL53L0X e a placa Arduino. O VL53L0X é um sensor de tempo de voo que usa um laser para medir distâncias de até 2 metros com alta precisão. Opera através do protocolo I2C, permitindo fácil comunicação com o Arduino.

A placa Arduino serve como microcontrolador que processa os dados do VL53L0X. Ele envia comandos para o sensor e recebe as medições de distância, que podem ser exibidas ou utilizadas em outras aplicações. A fiação adequada é crucial para garantir leituras precisas do sensor.

Detalhes da folha de dados

FabricanteSTMicroelectronics
Número da peçaVL53L0X
Tensão2,6 V a 3,5 V
Gama30 mm a 2000 mm
Exatidão±3% típico
InterfaceI2C
Faixa de temperatura-40 °C até +85 °C
Consumo atual<1 mA (em espera), 20 mA (ativo)
PacoteVFLGA-8

  • Certifique-se de que o sensor esteja alimentado corretamente (2.6 V a 3.5 V).
  • Mantenha as configurações corretas de endereço I2C para evitar conflitos.
  • Mantenha o sensor limpo para medições de distância precisas.
  • Use resistores pull-up apropriados nas linhas I2C, se necessário.
  • Evite a luz solar direta no sensor para leituras confiáveis.

Instruções de fiação

Arduino Wiring for VL53L0X
Arduino Wiring for VL53L0X

Para conectar o sensor VL53L0X ao Arduino, conecte o pino VCC do sensor ao pino de 5V no Arduino. O pino GND deve ser conectado ao aterramento (GND) do Arduino. Para a comunicação I2C, conecte o pino SDA do VL53L0X ao pino A4 no Arduino e conecte o pino SCL ao pino A5. Se você estiver usando um modelo Arduino diferente, consulte as atribuições de pinos SDA e SCL específicas para essa placa.

Por exemplo, no Arduino Mega, você conectaria SDA ao pino 20 e SCL ao pino 21. Certifique-se de que todas as conexões estejam seguras para evitar problemas de comunicação. Se o sensor não responder, verifique novamente a fiação e certifique-se de que o Arduino esteja ligado corretamente.

Exemplos de código e passo a passo

Abaixo está um trecho da função de configuração que inicializa o sensor VL53L0X:

void setup() {
  Serial.begin(9600);
  while (! Serial) {
    delay(1);
  }
  Serial.println("Robojax Test");
  if (!lox.begin()) {
    Serial.println(F("Failed to boot VL53L0X"));
    while(1);
  }
}

Esse código inicializa a comunicação serial e tenta iniciar o sensor VL53L0X. Se o sensor não inicializar, ele imprimirá uma mensagem de erro e interromperá o programa.

Em seguida, aqui está um trecho da função de loop que lê a medição de distância:

void loop() {
  VL53L0X_RangingMeasurementData_t measure;
  lox.rangingTest(&measure, false);
  if (measure.RangeStatus != 4) {
    Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" out of range ");
  }
  delay(100);
}

Este bloco lê continuamente a medição de distância do sensor e a imprime no monitor serial. Se a medição estiver fora do intervalo, isso indica isso de acordo.

Demonstração / O Que Esperar

Ao executar o programa, você deve ver as medições de distância exibidas no monitor serial. As leituras devem ser atualizadas a cada 100 milissegundos. Se o sensor estiver apontando para um objeto, ele exibirá a distância em milímetros. Se o objeto estiver fora do alcance, isso também indicará isso. Certifique-se de testar o sensor dentro de sua faixa especificada para obter os melhores resultados (em vídeo às 10:00).

Carimbos de data/hora de vídeo

  • 00:00-Introdução
  • 02:15- Configuração da fiação
  • 05:30- Explicação do código
  • 10:00-Demonstração

Imagens

VL53L0X 200cm range sensor-blue
VL53L0X 200cm range sensor-blue
Arduino Wiring for VL53L0X
Arduino Wiring for VL53L0X
15-Using a VL53L0X laser distance meter in Arduino
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.