Medindo distância com um módulo laser VL53L0X de 6 pinos e LCD1602-I2C para Arduino

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.

VL53L0X 200cm range sensor

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

FabricanteSTMicroelectronics
Número da peçaVL53L0X
Tensão lógica/IO1.8 V a 2.8 V
Tensão de alimentação2.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

Arduino wiring for VL53L0X and LCD1602 I2C (4 wires LCD)

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).

Imagens

VL53L0X 200cm range sensor
VL53L0X 200cm range sensor
Arduino wiring for VL53L0X and LCD1602 I2C (4 wires LCD)
Arduino wiring for VL53L0X and LCD1602 I2C (4 wires LCD)
113-Measure distance with a laser VL53L0X 6-pin module and an LCD1602-I2C for Arduino
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing

Outros arquivos