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

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

Este tutorial demonstra como usar o medidor de distância a laser CJMCU VL53L0X com um Arduino. Este módulo, equipado com um sensor time-of-flight VL53L0X da Texas Instruments e um conversor de nível bidirecional TXS0108E (no vídeo em 00:06), oferece medição de distância precisa de até 2 metros (no vídeo em 00:52). Sua compatibilidade com vários níveis lógicos (3.3V, 1.8V, 5V) simplifica a integração com diferentes microcontroladores (no vídeo em 00:21). Este projeto abre uma ampla gama de possibilidades.

Ideias para projetos:

  • Robótica: Implementar a evitação de obstáculos em robôs.
  • Automação: Controle de máquinas com base na proximidade.
  • Casa inteligente: Crie iluminação automática com base na distância.
  • Segurança: Desenvolver um sistema de alarme baseado em proximidade.

Hardware/Componentes

Para construir este projeto, você precisará dos seguintes componentes:

  • Placa Arduino (qualquer modelo serve)
  • Módulo Medidor de Distância a Laser CJMCU VL53L0X
  • Fios jumper

Guia de fiação

O módulo VL53L0X conecta-se ao Arduino da seguinte forma:

Conecte o pino VCC do módulo ao pino 5V do Arduino. O regulador interno do módulo fornece os 3.3V necessários para o sensor. (no vídeo em 01:50)

Conecte o pino GND do módulo ao pino GND do Arduino.

Conecte o pino SDA do módulo ao pino A4 do Arduino.

Conecte o pino SCL do módulo ao pino A5 do Arduino.

Deixe o pino XSHUT desconectado, a menos que precise usá-lo para controle de desligamento. (no vídeo em 03:50)

Explicação do código

O código fornecido utiliza a biblioteca VL53L0X. Aqui está uma explicação das principais partes configuráveis:


#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  // ... other setup code ...
  sensor.setTimeout(500); // Set timeout to 500ms (in video at 06:40)
  sensor.startContinuous(); // Start continuous measurement mode (in video at 06:50)
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters()); // Read distance in mm (in video at 07:01)
  // ... other loop code ...
}

Osensor.setTimeout(500)Esta linha define o tempo limite para medições de distância para 500 milissegundos. Ajuste este valor se necessário para sua aplicação (no vídeo em 06:40). Osensor.startContinuous()A função inicia a medição contínua da distância, fornecendo leituras de distância o mais rápido possível (no vídeo em 06:50). Asensor.readRangeContinuousMillimeters()A função retorna a distância medida em milímetros (no vídeo em 07:01).

Projeto/Demonstração ao vivo

O vídeo demonstra o funcionamento do sensor, mostrando como as leituras de distância mudam à medida que a distância do sensor ao alvo varia. As leituras são precisas dentro de poucos milímetros, especialmente em distâncias maiores que 10mm (no vídeo em 08:20). Em alcances muito próximos (menos de 10mm), a precisão diminui (no vídeo em 09:50). A demonstração também mostra que superfícies reflexivas podem afetar as leituras, especialmente se o laser não estiver perpendicular à superfície (no vídeo em 10:32).

Capítulos

  • [00:00] Introdução e visão geral do projeto
  • [00:48] Detalhes do sensor VL53L0X
  • [01:41] Visão geral e especificações do módulo
  • [02:55] Aplicações e Padrões
  • [03:35] Pinagem e Conexões
  • [05:29] Explicação do código
  • [07:45] Fiação e Conexões
  • [08:18] Demonstração ao vivo
136-Source code for the VL523L0X distance measurement module for Arduino
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.