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
Recursos e referências
-
ExternoDownload do Pololu (GitHub)github.com
-
ExternoFolha de dados do TXS0108Eti.com
Arquivos📁
Nenhum arquivo disponível.