Tabla de contenido:
- Paso 1: Conexión de TFmini a Teensy 3.5 (similar para Arduino Mega)
- Paso 2: Código para ejecutarlo
- Paso 3: Uso de Arduino IDE View Results en Serial Plotter
Video: Benewake TFmini - LiDAR económico con Teensy 3.5: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
La unidad Benewake TFmini LiDAR es un sensor LiDAR pequeño y muy ligero por unos 50 dólares canadienses. La documentación fue buena, pero incompleta. Proporcionó detalles sobre la recepción de datos del sensor, pero se olvidó de mencionar la señal necesaria para poner el sensor en el modo predeterminado para que realmente envíe los datos. Afortunadamente, eso estaba en el documento de depuración.
Así que esto es lo que funcionó para mí, y es realmente un dispositivo fácil de trabajar.
Elegí usar un Teensy 3.5 ya que tiene múltiples puertos serie HW, es más que lo suficientemente rápido para recibir datos y procesarlos sin dejar que los datos se acumulen. Solo por diversión, utilicé la biblioteca Teensy Threading para separar la obtención de datos del resto del código.
Paso 1: Conexión de TFmini a Teensy 3.5 (similar para Arduino Mega)
Este ejemplo requiere dos conexiones en serie: una al TFmini y otra para mostrar los resultados en su computadora. Por esta razón, y por lo que puedo decir, solo por esta razón, este ejemplo en particular no funcionará en nada por debajo de Arduino Mega o Teensy 3.x.
Dicho esto, para las aplicaciones que no requieren salida en serie para imprimir en la pantalla de la computadora, el mismo proyecto debe ser adaptable.
Usando el arnés de cables incluido:
1) conecte el cable negro a Teensy GND (si usa una fuente de VDC diferente, asegúrese de que la tierra también vaya a GND en Teensy)
2) conecte el cable rojo a Teensy Vin (o fuente de 5VDC)
3) conecte el cable blanco (TFmini RX) al pin 1 en Teensy (Serial1 TX)
4) conecte el cable verde (TFmini TX) al pin 0 en Teensy (Serial RX)
El arnés de cables incluido era demasiado pequeño para trabajar con él en una placa de pruebas, así que corté el extremo opuesto al TFmini, y soldé los cables a una placa de pruebas, agregué un conector JST a la placa de conexiones e hice un puente JST a macho. mazo de cables.
Paso 2: Código para ejecutarlo
Utilice el siguiente código (para Teensy 3.5) o descargue el archivo adjunto:
Para Arduino Mega, es probable que el enhebrado no funcione. Mueva el código de la función readLiDAR al bucle principal y elimine todo lo relacionado con el subproceso.
#include #include "TeensyThreads.h"
// Utilizando el cable suministrado:
// - Negro = GND (conectado a GND) // - Rojo = 5V (4.5 - 6.0V) (conectado a Vin en Teensy 3.5, o 5V en Arduino) // - Blanco = TFmini RX (también conocido como conectar al microcontrolador TX, pin1 en Teensy 3.5) // - Verde = TFmini TX (también conocido como conectar al microcontrolador RX, pin0 en Teensy 3.5) // NOTA: para este boceto necesita un microcontrolador con puertos serie adicionales además del conectado al cable USB / / Esto incluye Arduino MEGA (use Serial1), Teensy (3.x) (use una de las conexiones HW Serial disponibles)
volatile int liDARval = 0;
void readLiDAR () {
// Formato de datos para Benewake TFmini // =============================== // 9 bytes en total por mensaje: // 1) 0x59 // 2) 0x59 // 3) Dist_L (bajo de 8 bits) // 4) Dist_H (alto de 8 bits) // 5) Fuerza_L (bajo de 8 bits) // 6) Fuerza_H (alto de 8 bits) // 7) Bytes reservados // 8) Grado de calidad de la señal original // 9) Bit de paridad de suma de comprobación (8 bits bajos), suma de comprobación = Byte1 + Byte2 +… + Byte8. Sin embargo, esto es solo un bajo de 8 bits while (1) {// Continuar para siempre while (Serial1.available ()> = 9) // Cuando al menos 9 bytes de datos disponibles (número esperado de bytes para 1 señal), entonces leer {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // byte 1 y byte 2 {unsigned int t1 = Serial1.read (); // byte 3 = Dist_L unsigned int t2 = Serial1.read (); // byte 4 = Dist_H t2 << = 8; t2 + = t1; liDARval = t2; t1 = Serial1.read (); // byte 5 = Fuerza_L t2 = Serial1.read (); // byte 6 = Fuerza_H t2 << = 8; t2 + = t1; para (int i = 0; i <3; i ++) Serial1.read (); // los bytes 7, 8, 9 se ignoran}}}}
configuración vacía ()
{Serial1.begin (115200); // Serie HW para TFmini Serial.begin (115200); // Salida en serie a través de USB al retardo de la computadora (100); // Dar un poco de tiempo para que las cosas comiencen // Establecer en modo de salida estándar Serial1.write (0x42); Serial1.write (0x57); Serial1.write (0x02); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x01); Serial1.write (0x06); // Configuración del hilo para leer la entrada en serie de TFmini threads.addThread (readLiDAR); }
bucle vacío ()
{retraso (10); // No quiero leer con demasiada frecuencia como muestras TFmini a 100Hz Serial.println (liDARval); }
Paso 3: Uso de Arduino IDE View Results en Serial Plotter
Puede usar el método que desee, pero el IDE de Arduino trazará los resultados de manera agradable.
Conéctese al Teensy y abra Serial Monitor. Asegúrese de que la velocidad en baudios esté configurada en 115200.
Recomendado:
Modificar un micrófono de condensador LDC económico: 7 pasos (con imágenes)
Modifique un micrófono de condensador LDC barato: He sido un tipo de audio durante mucho tiempo y un ávido aficionado al bricolaje. Lo que significa que mis proyectos favoritos se relacionan con el audio. También creo firmemente que para que un proyecto de bricolaje sea genial tiene que haber uno de dos resultados para que valga la pena realizar el proyecto
Coche RC Bluetooth con STM32F103C y L293D - Económico: 5 pasos
Coche Bluetooth RC con STM32F103C y L293D - Barato: Hice un coche Bluetooth Arduino como el que se muestra aquí, por Ardumotive_com. El problema que tenía eran las baterías y su peso, así como su gasto. Desde entonces, los bancos de energía baratos para teléfonos móviles se han vuelto muy asequibles. Todo lo que necesito
Sistema de iluminación para clubes con MadMapper & Teensy 3.2: 14 pasos
Sistema de iluminación de clubes con MadMapper & Teensy 3.2: En 2018 hice la primera versión de este sistema de iluminación de clubes de bajo presupuesto para una fiesta de Nochevieja en Ramallah Palestina con mi colectivo The UNION, más sobre la historia y el colectivo al final de este artículo. El sistema se basó en WS2812
Sonos Architectural más económico con IKEA: 8 pasos (con imágenes)
Cheap (er) Sonos Architectural con IKEA: Desde el comienzo de Sonos, muchos se han lamentado de los altos precios de sus parlantes y, en particular, de los precios de sus dispositivos Connect, que ofrecen línea para usar con sus propios parlantes. Los dispositivos Connect también carecen de muchas características de la especificación independiente
Fotomatón Botón rojo grande: Teensy LC: 3 pasos (con imágenes)
Photo Booth Big Red Button: Teensy LC: Hace algunos años, construí un Photo Booth al aire libre para la boda de un amigo. Usé el " stand " varias veces para varios eventos, pero quería modificar la configuración para una configuración más simple. Básicamente, una réflex digital en un trípode y una vuelta