Medindo distância com um módulo laser VL53L0X de 6 pinos e LCD1602-I2C para Arduino
Neste tutorial, vamos aprender como medir distância usando o sensor laser VL53L0X e exibir os resultados em um LCD1602 com interface I2C. Este projeto permite obter medições de distância precisas em milímetros ou centímetros, tornando-o uma adição versátil a qualquer projeto baseado em Arduino. Ao final deste tutorial, você terá um sistema de medição de distância totalmente funcional que é fácil de configurar e usar.

Para isso, utilizaremos o sensor de distância a laser VL53L0X, que se comunica com o Arduino via I2C. O display LCD1602 fornecerá uma representação visual clara da distância medida. Para esclarecer o processo de codificação, consulte o vídeo em :00.
Hardware Explicado
Os principais componentes desta montagem são o sensor de distância a laser VL53L0X e o display LCD1602. O VL53L0X utiliza um laser para medir distâncias com precisão, tornando-o adequado para várias aplicações, incluindo robótica e automação. Ele opera usando comunicação I2C, o que permite fácil integração com o Arduino.
O LCD1602 é um display de caracteres compatível com I2C que pode exibir até 16 caracteres em duas linhas. Ele simplifica o processo de exibição de dados, pois requer menos pinos do que os LCDs tradicionais. Juntos, esses componentes criam um sistema de medição de distância poderoso e fácil de usar.
Detalhes da ficha técnica
| Fabricante | STMicroelectronics |
|---|---|
| Número da peça | VL53L0X |
| Tensão lógica/IO | 1.8 V a 2.8 V |
| Tensão de alimentação | 2.6 V a 3.5 V |
| Corrente de saída (por canal) | ... |
| Corrente de pico (por canal) | ... |
| Orientação sobre a frequência PWM | ... |
| limiares lógicos de entrada | ... |
| Queda de tensão / RDS(on)/ saturação | ... |
| Limites térmicos | ... |
| Pacote | ... |
| Notas / variantes | ... |
- Garanta a tensão de alimentação adequada (2,6 V a 3,5 V).
- Use resistores de pull-up nas linhas SDA e SCL, se necessário.
- Mantenha o sensor afastado de superfícies refletoras para evitar leituras incorretas.
- Verifique o endereço I2C (o padrão é 0x29 para o VL53L0X).
- Considere a dissipação de calor se for utilizado em ambientes de alta temperatura.
Instruções de fiação

Para ligar o sensor VL53L0X e o display LCD1602, comece conectando a alimentação e o terra. Conecte oVCCpino do VL53L0X para o5Vpino no Arduino e oGNDpino ao terra do Arduino. Para o LCD1602, conecte o seuVCCao mesmo5VeGNDpara aterrar também.
Em seguida, conecte as linhas de comunicação I2C. OSDAo pino do VL53L0X deve ser conectado aoA4pino no Arduino, e oSCLo pino deve ir paraA5. OXSHUTpino pode ser conectado aD12no Arduino, mas também pode ser deixado desconectado. Para o LCD1602, certifique-seSDAeSCLtambém estão conectados aos mesmos pinos do sensor VL53L0X.
Exemplos de código e guia passo a passo
VL53L0X sensor;
#include
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
sensor.startContinuous();
lcd.begin();
lcd.backlight();
}
Na função setup, inicializamos a comunicação serial e o barramento I2C. Osensor.init()inicializa o sensor VL53L0X, enquantolcd.begin()inicializa o visor LCD. A retroiluminação do visor é ativada, permitindo fácil visualização.
void loop() {
int distance = sensor.readRangeContinuousMillimeters();
Serial.print("Distance: ");
lcd.clear();
lcd.print("Robojax VL53L0X");
lcd.setCursor(0,1);
lcd.print("Dist.: ");
lcd.setCursor(7,1);
lcd.print(distance);
Serial.println();
delay(100);
}
Dentro do loop, lemos continuamente a distância usandosensor.readRangeContinuousMillimeters()e o imprime no monitor serial. O LCD é atualizado com a medição de distância, fornecendo feedback em tempo real. O atraso de 100 milissegundos garante que as leituras não sejam atualizadas com muita frequência, permitindo uma leitura fácil.
Demonstração / O que esperar
Ao ligar, o sistema medirá continuamente a distância e exibirá os resultados no LCD. Você poderá ver os valores de distância mudarem à medida que aproxima ou afasta objetos do sensor. Se houver algum problema com o sensor, como erros de tempo limite, mensagens apropriadas serão exibidas no monitor serial (no vídeo em 03:15).
Coisas que você pode precisar
-
AmazonasCompre o VL53L0X na Amazon.amzn.to
-
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 VL53l0x no eBayebay.us
-
Externofolha de dados VL53L0X (PDF)st.com
-
ExternoPágina de download da Adafruitlearn.adafruit.com
Arquivos📁
Arquivo Fritzing
-
VL53L0X_Sensor_de_distância_Quadrados
VL53L0X_Distance_sensor_Squares.fzpz0.02 MB
Outros arquivos
-
Biblioteca Adafruit VL53L0X da Robojax
robojax-VL52L0X_Adafruit_VL53L0X-master.zip -
Sensor de distância VL53L0X roxo
VL53L0X_Distance_sensor_purple.fzpz0.01 MB