Medindo a distância com um módulo a laser VL53L0X de 6 pinos para Arduino
Neste tutorial, aprenderemos como medir distância usando o sensor de distância a laser VL53L0X com um módulo de 6 pinos. Este pequeno, porém poderoso, sensor utiliza tecnologia de tempo de voo para fornecer medições de distância precisas de até 200 cm. Seguindo este guia, você será capaz de configurar o sensor com um Arduino e ler valores de distância diretamente no monitor serial.

Para este projeto, usaremos o sensor VL53L0X, que é compacto e fácil de integrar em várias aplicações. O sensor comunica-se via I2C, tornando simples conectá-lo a uma placa Arduino. No vídeo, você encontrará explicações adicionais e demonstrações do processo de configuração (em 04:00).
Hardware explicado
O VL53L0X é um sensor de distância por tempo de voo que emite um feixe de laser e mede o tempo que a luz leva para retornar depois de atingir um objeto. Isso permite que ele calcule com precisão a distância até o objeto. O sensor opera com uma tensão entre 2.6 V e 3.5 V, mas pode ser alimentado com 5 V graças a um regulador de tensão interno.
O módulo possui seis pinos: VCC, GND, SDA (linha de dados), SCL (linha de clock), GPIO1 (pino de E/S de uso geral) e XSHUT (pino de desligamento). O pino GPIO1 não é usado nesta configuração, mas pode ser deixado desconectado. O pino XSHUT permite desligar o sensor para economizar energia quando não estiver em uso.
Detalhes da ficha técnica
| Fabricante | STMicroelectronics |
|---|---|
| Número da peça | VL53L0X |
| Tensão lógica/E/S | 2.6 V a 3.5 V (5 V com regulador) |
| Temperatura de operação | -20 °C a 70 °C |
| Faixa de medição | 30 mm a 2000 mm |
| Frequência de comunicação I2C | 400 kHz |
| Tamanho | 4.4 mm x 2.4 mm x 1 mm |
- Garanta uma fonte de alimentação adequada (5 V recomendada).
- Conecte SDA e SCL aos pinos I2C apropriados do Arduino.
- Use resistores de pull-up nas linhas I2C, se necessário.
- Não deixe GPIO1 desconectado; ele pode ficar flutuando.
- Mantenha o pino XSHUT em nível alto durante a operação.
- Meça distâncias em um ambiente bem iluminado para maior precisão.
- Calibre o sensor para medições precisas.
- Teste o alcance do sensor colocando objetos a várias distâncias.
- Monitore a saída serial em busca de leituras de distância e mensagens de tempo limite.
Instruções de fiação

Para ligar o sensor VL53L0X ao seu Arduino, comece conectando o pino VCC do sensor ao pino 5V do Arduino. Em seguida, conecte o pino GND ao pino GND do Arduino. O pino SDA do sensor deve ser conectado ao pino A4 do Arduino (ou ao pino SDA se sua placa tiver pinos I2C dedicados). Da mesma forma, conecte o pino SCL do sensor ao pino A5 (ou ao pino SCL). Deixe o pino GPIO1 sem conexão, pois não é necessário para este projeto.
Finalmente, conecte o pino XSHUT ao pino digital 12 no Arduino. Esse pino será usado para controlar o estado de desligamento do sensor. Certifique-se de que todas as conexões estejam firmes para evitar quaisquer problemas de comunicação.
Exemplos de código e tutorial passo a passo
No código, começamos incluindo as bibliotecas necessárias e inicializando o sensor VL53L0X. A função setup configura o sensor e inicia medições contínuas de distância. Aqui está um trecho da função setup:
void setup() {
pinMode(12, INPUT_PULLUP);
digitalWrite(12, HIGH);
Serial.begin(9600);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
sensor.startContinuous();
}Neste trecho, configuramos o pino 12 como entrada com resistor de pull-up e inicializamos a comunicação serial a 9600 baud. Também inicializamos o sensor e definimos um tempo limite para as leituras, garantindo que ele funcione continuamente.
Em seguida, lemos a distância na função loop, onde o valor medido é impresso no monitor serial:
void loop() {
int distance = sensor.readRangeContinuousMillimeters();
Serial.print("Distance: ");
Serial.print(distance);
Serial.print("mm");
if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
Serial.println();
delay(100);
}Este código lê a distância em milímetros e a imprime no monitor serial. Se ocorrer um tempo limite, isso indica que o sensor não recebeu uma leitura válida.
Demonstração / O que esperar
Quando você executar o programa, deve começar a ver medições de distância no monitor serial. A saída vai oscilar conforme você aproxima ou afasta objetos do sensor. Você pode notar mensagens de timeout ocasionais se o sensor não conseguir obter uma leitura (no vídeo às 10:30). Para melhorar a precisão, considere fazer a média de várias leituras.
Coisas que você pode precisar
-
eBayCompre VL53l0x no eBayebay.us
-
AliExpressCompre de 1 a 10 peças de VL53L0X no AliExpress.s.click.aliexpress.com
-
BanggoodCompre de 1 a 10 unidades de VL53L0X na Banggood.banggood.com
Recursos e referências
-
ExternoCompre de 1 a 10 peças de VL53L0X no AliExpress.s.click.aliexpress.com
-
ExternoCompre de 1 a 10 unidades de VL53L0X na Banggood.banggood.com
-
ExternoCompre o VL53L0X na Amazonamzn.to
-
ExternoCompre VL53l0x no eBayebay.us
Arquivos📁
Arquivo Fritzing
-
VL53L0X_Sensor_de_distância_Quadrados
VL53L0X_Distance_sensor_Squares.fzpz0.02 MB
Outros arquivos
-
Sensor de distância VL53L0X roxo
VL53L0X_Distance_sensor_purple.fzpz0.01 MB