Usando um Sensor de Distância a Laser VL53L1X para Medir Distâncias de até 4 Metros
O VL53L1X é um sensor de distância a laser baseado em tempo de voo, capaz de medir distâncias de até 4 metros com alta precisão. Este sensor se comunica via I2C e é versátil para várias aplicações, como robótica e automação. Neste tutorial, vamos explorar como configurar o sensor VL53L1X com um Arduino e ler os valores de distância de forma eficaz.
O sensor é alimentado por 3,3V ou 5V e possui múltiplos pinos para comunicação I2C, incluindo SDA e SCL. O sensor pode medir distâncias a uma frequência de 50Hz, permitindo leituras de distância rápidas. Este tutorial o guiará pelo processo de fiação e pelo código necessário para operar o sensor suavemente. Para mais esclarecimentos, você pode conferir o vídeo (no vídeo às 00:00).
Hardware Explicado
O componente principal deste projeto é o sensor de distância a laser VL53L1X, que utiliza uma tecnologia conhecida como tempo de voo (ToF) para medir distâncias. Isso significa que ele calcula a distância até um objeto cronometrando quanto tempo leva para um pulso de laser retornar após atingir um objeto. O sensor possui comunicação I2C, que permite fácil integração com microcontroladores como o Arduino. Além do sensor, você precisará de uma placa Arduino para processamento. O Arduino irá gerenciar a comunicação com o VL53L1X e exibir as distâncias medidas. A configuração é simples, pois o sensor pode ser alimentado diretamente pelos pinos de saída do Arduino.
Detalhes da Ficha Técnica
| Fabricante | STMicroelectronics |
|---|---|
| Número da peça | VL53L1X |
| Tensão de lógica/IO | 3,3 - 5 V |
| Tensão de alimentação | 2.6 - 5.5 V |
| Corrente de saída (por canal) | Não se aplica |
| Corrente de pico (por canal) | Não aplicável |
| Orientação sobre frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0,3 × VCC (baixo), 0,7 × VCC (alto) |
| Queda de tensão / RDS(on)/ saturação | Não aplicável |
| Limites térmicos | 0 a 85 °C |
| Pacote | 4,9 x 2,5 x 1,6 mm |
| Notas / variantes | Sensor de tempo de voo de longo alcance |
- Alimente o sensor com 3,3V ou 5V, conforme necessário.
- Use os pinos I2C, SDA e SCL, para comunicação.
- Defina o modo de distância de acordo com suas necessidades (curto, médio, longo).
- Certifique-se de que o sensor está calibrado para leituras de distância precisas.
- Manuseie as condições de luz ambiente com cuidado, pois elas podem afetar as medições.
Instruções de Fiação

Para conectar o sensor VL53L1X a um Arduino, conecte o pino VCC do sensor ao pino 5V do Arduino usando um fio vermelho. Conecte o pino de terra (GND) do sensor ao GND do Arduino usando um fio marrom. Para a comunicação I2C, conecte o pino SDA do sensor ao pino A4 do Arduino usando um fio amarelo e o pino SCL ao pino A5 usando um fio verde. Se você quiser usar os pinos opcionais de interrupção e desligamento, conecte o pino de desligamento ao pino digital 2 e o pino de interrupção ao pino digital 3, mas esses não são necessários para a operação básica.
Exemplos de Código e Passo a Passo
No código, primeiro incluímos as bibliotecas necessárias e definimos os pinos para o sensor. Criamos uma instância do sensor com a linha:
SFEVL53L1X distanceSensor;Esta linha inicializa o sensor, permitindo-nos chamar seus métodos mais tarde no programa. Em seguida, configuramos a comunicação I2C e inicializamos o sensor:
void setup(void)
{
Wire.begin();
Serial.begin(9600);
Serial.println("VL53L1X Qwiic Test");
if (distanceSensor.begin() == 0) //Begin returns 0 on a good init
{
Serial.println("Sensor online!");
}
}Neste trecho, começamos a comunicação I2C comWire.begin()e verifique se o sensor foi inicializado com sucesso. Finalmente, para ler a distância, usamos o seguinte código no loop:
void loop(void)
{
int distance = distanceSensor.getDistance(); // Get distance
Serial.print("Distance: ");
Serial.println(distance);
}Este código recupera a medição de distância e a imprime no monitor serial. O loop lê continuamente a distância, permitindo atualizações em tempo real. Para um exemplo de código completo, consulte o código completo carregado abaixo do artigo.
Demonstração / O Que Esperar
Quando o sensor está configurado corretamente, você pode esperar que ele forneça medições de distância precisas de até 4 metros. Você pode observar pequenas flutuações nas leituras, especialmente em condições de iluminação variadas (no vídeo às 10:30). É essencial garantir que o sensor esteja limpo e desobstruído para obter resultados precisos. Se você encontrar leituras incomuns, verifique se o sensor está alimentado corretamente e se as conexões I2C estão seguras. O desempenho do sensor pode ser afetado pelo ambiente, particularmente em luz intensa ou superfícies reflexivas.
Marcadores de Vídeo
- 00:00 Iniciar
- 00:40 Introdução
- 03:42 Ficha Técnica Visitada
- 06:48 Soldando cabeçotes de pino
- 08:22 Fiação explicada
- 09:06 Código explicado
- 11:53 Demonstração
- 16:03 Demonstração em Completamente Escuro
Recursos e referências
-
ExternoBiblioteca VL53L0X Pololu (GitHub)github.com
Arquivos📁
Nenhum arquivo disponível.