Qué es Tiempo de vuelo ¿Tecnología de Tiempo de Vuelo?
Tiempo de Vuelo (ToF) es un método de medición de distancia que calcula cuánto tiempo tarda una señal (generalmente un pulso de luz o láser) en viajar a un objetivo y regresar al sensor. El ToF HAT utiliza este principio con una fuente de luz láser y detectores altamente sensibles para calcular la distancia con alta precisión.
-
Emisión de Luz: El sensor emite un pulso láser.
-
Reflexión: El pulso se refleja en un objeto objetivo.
-
Medición del Tiempo: El sensor registra el tiempo que tardó la luz en regresar.
-
Cálculo de Distancia: Usando la velocidad de la luz y el tiempo que tarda el pulso en regresar, el sensor calcula la distancia al objeto.

Este método de medición de distancia es altamente preciso y opera de manera independiente de la reflectividad de la superficie, una ventaja significativa sobre los sensores ultrasónicos tradicionales.
Cómo usar el sombrero ToF
Materiales necesarios
-
M5StickCPlus2: Actúa como el controlador principal y es responsable de mostrar datos.
-
M5StickC ToF HAT: Sensores de distancia láser de alta precisión para medición de distancia
Parte del código
importar sistema operativo, sistema operativo, io
importar M5
desde la importación M5 *
from hardware import *
from hat import ToFHat
etiqueta0 = Ninguna
etiqueta1 = Ninguna
i2c0 = Ninguno
pin19 = Ninguno
pwm2 = Ninguno
hat_tof_0 = Ninguno
definición configuración():
etiqueta0 global, etiqueta1, i2c0, pin19, pwm2, hat_tof_0
M5.comenzar()
label0 = Widgets.Label("label0", 0, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
label1 = Widgets.Label("label1", 100, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
Widgets.setRotation(1)
i2c0 = I2C(0, scl=Pin(26), sda=Pin(0), freq=100000)
hat_tof_0 = ToFHat(i2c0)
pin19 = Pin(19, modo=Pin.OUT)
pwm2 = PWM(Pin(2), freq=5000, duty=512)
definición bucle():
etiqueta0 global, etiqueta1, i2c0, pin19, pwm2, hat_tof_0
M5.actualizar()
label0.setColor(0x33ff33, 0x000000)
label1.setColor(0x33ff33, 0x000000)
label0.setText(str('distancia'))
label1.setText(str(hat_tof_0.get_distance()))
if (hat_tof_0.get_distance()) <10: pin19.valor(1)
pwm2.deber(512)
demás:
pin19.valor(0)
pwm2.deber(0)
if __name__ == '__main__':
intentar:
configuración()
mientras sea verdadero:
bucle()
excepto (Exception, KeyboardInterrupt) como e:
intentar:
from utility import print_error_msg
mensaje de error de impresión (e)
excepto ImportError:
print("por favor actualice a la última versión del firmware")
Flujo de interfaz de usuario de M5Stack
Inicializa el IIC, configura GPIO19 en modo de salida para controlar la luz encendida/apagada, y configura GPIO2 a frecuencia PWM y ciclo de trabajo para controlar el zumbador.

Muestra la distancia medida en el M5stickCplus2 y establece la distancia a la que te gustaría tener una advertencia.

Componentes Clave del M5StickC ToF TIENE
Luz láser Fuente:
El pulso láser se envía y se refleja del objeto, lo que permite medir la distancia.
Matriz de sensores:
El sensor contiene fotodetectores (a menudo un APD - Diodo Fotovoltaico de Avalancha) que miden el tiempo que tarda el láser en regresar. Estos detectores están diseñados para ser extremadamente sensibles a la luz reflejada entrante.Interfaz I2C:
I2C es un protocolo de comunicación simple y de bajo consumo que permite al M5StickC comunicarse con el sensor utilizando solo dos cables: datos (SDA) y reloj (SCL), junto con alimentación y tierra.
Fuente de alimentación:
El módulo generalmente opera a 3.3V o 5V, que se suministra a través de la conexión I2C al M5StickC. Esto permite que el sensor funcione de manera eficiente, con un bajo consumo de energía adecuado para aplicaciones alimentadas por batería.
Especificaciones Técnicas en Detalle
Aquí hay una lista más completa de especificaciones para el M5StickC Tiempo de vuelo TIENE:
-
Rango de Distancia: El sensor puede medir distancias desde 0.05 metros (5 cm) hasta 2 metros con alta precisión.
-
Precisión de Medición: El sensor ofrece una precisión de ± 3% de la distancia medida. Esto significa, por ejemplo, que si un objeto se detecta a 1 metro, la medición de la distancia puede variar aproximadamente 3 cm.
-
Tiempo de Respuesta: El sensor puede proporcionar lecturas de distancia aproximadamente cada 50 milisegundos, dependiendo de la distancia. Es lo suficientemente rápido para aplicaciones en tiempo real como la detección de obstáculos y la navegación robótica.
-
Tensión de funcionamiento: La tensión de funcionamiento está entre 3.3V y 5V, lo que la hace compatible con el M5StickC y otros microcontroladores que operan en este rango de tensión.
-
Consumo de Energía: El consumo de energía es bastante bajo, consumiendo típicamente alrededor de 15-20mA durante la operación. Esto lo hace ideal para sistemas alimentados por batería o de bajo consumo.
-
Temperatura de Funcionamiento: El sensor opera de manera efectiva en un rango de temperatura de -10°C a 60°C, lo que permite su uso en una amplia variedad de entornos.
-
Salida Datos: El sensor emite los datos de distancia a través de I2C comunicación, que puede ser fácilmente leído por cualquier microcontrolador compatible, incluyendo el M5StickC.
-
Modo de Detección: El ToF HAT se puede utilizar en modo de medición continua y modo de medición activada, dependiendo de la aplicación específica.
Cómo el M5StickC ToF TIENE Obras
El sensor funciona emitiendo un pulso láser y luego esperando a que el pulso rebote de un objeto cercano. Aquí hay un desglose de cómo ocurre este proceso:Emisión del Pulso Láser: El sensor emite un corto pulso láser que viaja a la velocidad de la luz. El haz láser se refleja en los objetos que encuentra.Detección de Luz Reflejada: La luz reflejada es recibida por el fotodetector del sensor. Esta luz se utiliza para medir el tiempo de viaje entre la emisión y la recepción del pulso.
Cálculo de Distancia:
El sensor calcula la distancia utilizando la fórmula:
Distancia = \frac{c \times t}{2}Distancia=2c\times t
dónde:
-
CCC es la velocidad de la luz en el medio (aprox. 3×10^8 metros por segundo).
-
es el tiempo que tarda el pulso de luz en viajar al objetivo y regresar.
-
Salida de Datos: Una vez que se calcula la distancia, el sensor emite el valor a través de I2C. El M5StickC puede entonces leer el valor y procesarlo para mostrarlo, realizar acciones o para un cálculo adicional.
Uso de M5StickC ToF TIENE en Proyectos
-
Detección de Proximidad para Sistemas de Hogar Inteligente: El sensor se puede utilizar en aplicaciones de hogar inteligente para detectar cuando alguien está cerca de una puerta o entrada. Por ejemplo, podrías configurar el sistema para encender las luces cuando alguien se acerque o activar una acción cuando alguien se encuentre dentro de un cierto rango.
-
Medición de Objetos en Aplicaciones Industriales: El ToF HAT también se puede utilizar en la automatización industrial para medir el tamaño o la posición de objetos en una línea de producción o para rastrear piezas en movimiento.
-
Realidad Virtual (RV) y Realidad Aumentada (RA): En configuraciones de RV/RA, la detección precisa de profundidad y distancia es crítica para la inmersión y la interacción. El HAT ToF se puede utilizar para rastrear la distancia entre el usuario y los objetos dentro del entorno de RV/RA.
Integración con M5StickC
- Configuración del hardware:
- Conecta el ToF HAT al puerto I2C del M5StickC. El M5StickC se encenderá automáticamente y se comunicará con el sensor ToF a través del bus I2C.
- Programación:
- Alternativamente, puedes usar Arduino IDE o MicroPython para escribir código personalizado, lo que permite más control y flexibilidad en tus proyectos.
- Puedes usar UIFlow, la plataforma de programación gráfica, para interactuar con el sensor y leer los valores de distancia. UIFlow facilita la programación del M5StickC y el acceso a los datos del sensor ToF con solo unos pocos bloques.
- Ejemplo de programa de bloque UIFlow:
- En UIFlow, puedes usar bloques para inicializar el sensor, leer la distancia y mostrar el resultado en la pantalla o tomar medidas basadas en la distancia medida.
- Proceso de datos:
- Una vez que hayas recuperado los datos de distancia, puedes procesarlos y activar acciones. Por ejemplo:
- Si la distancia es menor que un umbral, activa un zumbador o suena una alarma.
- Si estás construyendo un robot, cambia su dirección cuando se detecte un obstáculo.
Conclusión
