Tabla de contenido:

CircuitPython y TinyLiDAR: Ejemplo simple: 3 pasos
CircuitPython y TinyLiDAR: Ejemplo simple: 3 pasos

Video: CircuitPython y TinyLiDAR: Ejemplo simple: 3 pasos

Video: CircuitPython y TinyLiDAR: Ejemplo simple: 3 pasos
Video: Sesión #1: Primeros pasos para la utilizaciòn de ESP32 con IdeaBoard y CircuitPython 2024, Mes de julio
Anonim
CircuitPython y TinyLiDAR: ejemplo simple
CircuitPython y TinyLiDAR: ejemplo simple

El MicroElectronicDesign tinyLiDAR es un módulo de rango de tiempo de vuelo (ToF) basado en ST VL53L0X con una conexión de bus i2c. Las placas del microcontrolador Adafruit se conectan fácilmente a este sensor, ya que pueden hablar el protocolo i2c a través de sus pines de datos.

La serie M0 / M4 tiene la ventaja sobre otras placas porque admiten un subconjunto de Python que hace que la programación sea más accesible para una audiencia más amplia que C en un Arduino. Este es un ejemplo simple usando CircuitPython en una placa Gemma M0 para leer los valores de distancia de un tinyLiDAR e indicar la distancia variando el brillo del LED RGB integrado. La placa debe ser la versión M0 para compatibilidad con Python.

Nota: Adafruit también fabrica varias placas de detección de distancia, incluida una basada en la VL53L0X.

Paso 1: Código CircuitPython

  1. Descargue lib / adafruit_dotstar.mpy y lib / adafruit_bus_device / i2c_device.mpy si aún no los tiene. Estos son parte del paquete de biblioteca opcional, consulte la primera sección de CircuitPython I2C para obtener notas sobre cómo instalarlos. Estos archivos deben ir en los directorios lib y lib / adafruit_bus_device en Gemma M0.
  2. Descargue gemma-m0-tinylidar-simple.py, cámbiele el nombre a main.py y cópielo en el directorio raíz de Gemma M0.

El programa escribe la salida en la consola serie y también varía el brillo del LED Gemma MO RGB en proporción a la distancia leída. El LED Gemma M0 alterna entre encendido y apagado para las lecturas, por lo que parpadeará a aproximadamente 5Hz y el comportamiento predeterminado de la placa tinyLiDAR es parpadear su LED azul por comando a 10Hz.

El bus funciona a 100 kHz, lo que funciona bien en este caso. Como cualquier bus, la velocidad de comunicación está limitada por las características de la (s) línea (s) de transmisión, por lo que se debe prestar atención a la longitud, la capacitancia y otros factores.

Paso 2: Conexión del TinyLiDAR a un Gemma M0

Conexión del TinyLiDAR a un Gemma M0
Conexión del TinyLiDAR a un Gemma M0

La imagen muestra una configuración temporal efectiva pero poco elegante para conectar el tinyLiDAR a una placa Gemma M0. El conector universal de 4 pines “Grove” de tinyLiDAR se utiliza a través de un cable de conversión Seeed Grove, un cabezal de repuesto y pinzas de cocodrilo para conectar al Gemma M0. Cierta separación entre las clavijas del cabezal elimina el riesgo de un cortocircuito involuntario. Las conexiones son:

  • Negro: tierra a tierra
  • Rojo: + V a 3Vo
  • Blanco: SDA a D0 (datos)
  • Amarillo: SCL a D2 (reloj)

Las placas Adafruit tienen algunos pines que admiten el protocolo i2c de manera eficiente en hardware. En el caso del Gemma M0, se deben utilizar estos, D0 para datos y D2 para reloj.

Un bus i2c requiere una resistencia pull-up en las líneas de datos y reloj. En este caso, el tinyLiDAR proporciona unas resistencias integradas de 4.7K. Si estos se han eliminado del circuito cortando las líneas, se deben agregar equivalentes al circuito.

Paso 3: Salida en serie

Salida serial
Salida serial

El programa escribe la salida en la consola serial mostrando la distancia medida, aquí hay una captura de pantalla de ejemplo de una terminal que muestra un objeto alejándose del sensor.

Recomendado: