Índice:

CircuitPython e TinyLiDAR: exemplo simples: 3 etapas
CircuitPython e TinyLiDAR: exemplo simples: 3 etapas

Vídeo: CircuitPython e TinyLiDAR: exemplo simples: 3 etapas

Vídeo: CircuitPython e TinyLiDAR: exemplo simples: 3 etapas
Vídeo: Демонстрация продукта: LIDAR-Lite v3HP 2024, Novembro
Anonim
CircuitPython e TinyLiDAR: exemplo simples
CircuitPython e TinyLiDAR: exemplo simples

O MicroElectronicDesign tinyLiDAR é um módulo de intervalo de tempo de vôo (ToF) baseado no ST VL53L0X com uma conexão de barramento i2c. As placas do microcontrolador Adafruit são facilmente conectadas a este sensor, pois podem falar o protocolo i2c por meio de seus pinos de dados.

As séries M0 / M4 têm vantagem sobre outras placas porque suportam um subconjunto de Python que torna a programação mais acessível a um público mais amplo do que C em um Arduino. Este é um exemplo simples usando CircuitPython em uma placa Gemma M0 para ler os valores de distância de um tinyLiDAR e indicar a distância variando o brilho do LED RGB integrado. A placa deve ser a versão M0 para suporte a python.

Nota: A Adafruit também fabrica várias placas de detecção de distância, incluindo uma baseada no VL53L0X.

Etapa 1: Código CircuitPython

  1. Baixe lib / adafruit_dotstar.mpy e lib / adafruit_bus_device / i2c_device.mpy se ainda não os tiver. Eles fazem parte do pacote opcional da biblioteca, consulte a primeira seção do CircuitPython I2C para obter notas sobre como instalá-los. Esses arquivos devem ir para os diretórios lib e lib / adafruit_bus_device no Gemma M0.
  2. Baixe gemma-m0-tinylidar-simple.py, renomeie-o para main.py e copie para o diretório raiz do Gemma M0.

O programa grava a saída no console serial, bem como varia o brilho do LED Gemma MO RGB em proporção à distância lida. O led Gemma M0 alterna entre ligado e desligado para leituras, então piscará em aproximadamente 5Hz e o comportamento padrão da placa tinyLiDAR é piscar seu led azul por comando em 10Hz.

O barramento é acionado a 100kHz, o que funciona bem neste caso. Como qualquer barramento, a velocidade de comunicação é limitada pelas características da (s) linha (s) de transmissão, portanto, deve-se prestar atenção ao comprimento, capacitância e outros fatores.

Etapa 2: Conectando o TinyLiDAR a uma Gemma M0

Conectando o TinyLiDAR a uma Gemma M0
Conectando o TinyLiDAR a uma Gemma M0

A imagem mostra uma configuração temporária eficaz, mas deselegante, para conectar o tinyLiDAR a uma placa Gemma M0. O conector universal de 4 pinos “Grove” do tinyLiDAR está sendo usado por meio de um cabo de conversão Seeed Grove, um coletor sobressalente e clipes de crocodilo para conectar ao Gemma M0. Alguma separação entre os pinos na plataforma remove o risco de um curto inadvertido. As conexões são:

  • Preto: gnd a gnd
  • Vermelho: + V a 3Vo
  • Branco: SDA a D0 (dados)
  • Amarelo: SCL para D2 (relógio)

As placas Adafruit possuem alguns pinos que suportam o protocolo i2c de forma eficiente no hardware. No caso da Gemma M0, devem ser usados, D0 para dados e D2 para relógio.

Um barramento i2c requer um resistor pull-up nas linhas de dados e clock. Nesse caso, o tinyLiDAR fornece alguns resistores on-board de 4,7K. Se eles foram removidos do circuito cortando as linhas, então equivalentes devem ser adicionados ao circuito.

Etapa 3: Saída serial

Saída serial
Saída serial

O programa grava a saída no console serial mostrando a distância medida. Aqui está um exemplo de captura de tela de um terminal mostrando um objeto se afastando do sensor.

Recomendado: