Tabla de contenido:
- Paso 1: Hardware necesario:
- Paso 2: Conexión de hardware:
- Paso 3: Código para seguimiento de movimiento:
- Paso 4: Aplicaciones:
Video: Seguimiento de movimiento con MPU-6000 y Raspberry Pi: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
MPU-6000 es un sensor de seguimiento de movimiento de 6 ejes que tiene un acelerómetro de 3 ejes y un giroscopio de 3 ejes integrados. Este sensor es capaz de realizar un seguimiento eficiente de la posición exacta y la ubicación de un objeto en el plano tridimensional. Puede emplearse en los sistemas que requieren un análisis de posición con la máxima precisión.
En este tutorial se ha ilustrado la interfaz del módulo sensor MPU-6000 con raspberry pi. Para leer los valores de aceleración y ángulo de rotación, hemos utilizado raspberry pi con un adaptador I2c. Este adaptador I2C hace que la conexión al módulo sensor sea fácil y más confiable.
Paso 1: Hardware necesario:
Los materiales que necesitamos para lograr nuestro objetivo incluyen los siguientes componentes de hardware:
1. MPU-6000
2. Raspberry Pi
3. Cable I2C
4. Escudo I2C para raspberry pi
5. Cable Ethernet
Paso 2: Conexión de hardware:
La sección de conexión de hardware básicamente explica las conexiones de cableado necesarias entre el sensor y la Raspberry Pi. Asegurar las conexiones correctas es la necesidad básica al trabajar en cualquier sistema para obtener la salida deseada. Entonces, las conexiones requeridas son las siguientes:
El MPU-6000 funcionará sobre I2C. Aquí está el diagrama de cableado de ejemplo, que demuestra cómo cablear cada interfaz del sensor.
Fuera de la caja, la placa está configurada para una interfaz I2C, por lo que recomendamos usar esta conexión si, por lo demás, es agnóstico.
¡Todo lo que necesitas son cuatro cables! Solo se requieren cuatro conexiones Vcc, Gnd, SCL y pines SDA y estos se conectan con la ayuda del cable I2C.
Estas conexiones se muestran en las imágenes de arriba.
Paso 3: Código para seguimiento de movimiento:
La ventaja de usar raspberry pi es que le brinda la flexibilidad del lenguaje de programación en el que desea programar la placa para conectar el sensor con ella. Aprovechando esta ventaja de esta placa, estamos demostrando aquí su programación en Python. Python es uno de los lenguajes de programación más sencillos con la sintaxis más sencilla. El código Python para MPU-6000 se puede descargar de nuestra comunidad de GitHub que es Dcube Store.
Además de para la facilidad de los usuarios, aquí también explicamos el código:
Como primer paso de la codificación, debe descargar la biblioteca SMBus en el caso de Python porque esta biblioteca admite las funciones utilizadas en el código. Entonces, para descargar la biblioteca puede visitar el siguiente enlace:
pypi.python.org/pypi/smbus-cffi/0.5.1
También puede copiar el código de trabajo desde aquí:
importar smbus
tiempo de importación
# Obtener busbus I2C = smbus. SMBus (1)
# Dirección MPU-6000, 0x68 (104)
# Seleccione el registro de configuración del giroscopio, 0x1B (27)
# 0x18 (24) Rango de escala completa = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# Dirección MPU-6000, 0x68 (104)
# Seleccione el registro de configuración del acelerómetro, 0x1C (28)
# 0x18 (24) Rango de escala completa = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# Dirección MPU-6000, 0x68 (104)
# Seleccione el registro de administración de energía 1, 0x6B (107)
# 0x01 (01) PLL con referencia xGyro
bus.write_byte_data (0x68, 0x6B, 0x01)
tiempo. de sueño (0.8)
# Dirección MPU-6000, 0x68 (104)
# Leer datos de 0x3B (59), 6 bytes
# Acelerómetro Eje X MSB, Eje X LSB, Eje Y MSB, Eje Y LSB, Eje Z MSB, Eje Z LSB
datos = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Convierte los datos
xAccl = datos [0] * 256 + datos [1]
si xAccl> 32767:
xAccl - = 65536
yAccl = datos [2] * 256 + datos [3]
si yAccl> 32767:
yAccl - = 65536
zAccl = datos [4] * 256 + datos [5]
si zAccl> 32767:
zAccl - = 65536
# Dirección MPU-6000, 0x68 (104)
# Leer datos de 0x43 (67), 6 bytes
# Gyrometer Eje X MSB, Eje X LSB, Eje Y MSB, Eje Y LSB, Eje Z MSB, Eje Z LSB
datos = bus.read_i2c_block_data (0x68, 0x43, 6)
# Convierte los datos
xGyro = datos [0] * 256 + datos [1]
si xGyro> 32767:
xGyro - = 65536
yGyro = datos [2] * 256 + datos [3]
si yGyro> 32767:
yGyro - = 65536
zGyro = datos [4] * 256 + datos [5]
si zGyro> 32767:
zGyro - = 65536
# Salida de datos a la pantalla
imprimir "Aceleración en el eje X:% d"% xAccl
imprimir "Aceleración en el eje Y:% d"% yAccl
imprimir "Aceleración en el eje Z:% d"% zAccl
imprimir "Eje X de rotación:% d"% xGyro
imprimir "Eje Y de rotación:% d"% yGyro
imprimir "Eje Z de rotación:% d"% zGyro
El código se ejecuta mediante el siguiente comando:
$> python MPU-6000.py gt; python MPU-6000.py
La salida del sensor se muestra en la imagen de arriba para referencia del usuario.
Paso 4: Aplicaciones:
MPU-6000 es un sensor de seguimiento de movimiento, que encuentra su aplicación en la interfaz de movimiento de teléfonos inteligentes y tabletas. En los teléfonos inteligentes, estos sensores se pueden emplear en aplicaciones tales como comandos de gestos para aplicaciones y control de teléfonos, juegos mejorados, realidad aumentada, captura y visualización de fotografías panorámicas y navegación para peatones y vehículos. La tecnología MotionTracking puede convertir teléfonos y tabletas en potentes dispositivos inteligentes 3D que se pueden utilizar en aplicaciones que van desde el control de la salud y el estado físico hasta servicios basados en la ubicación.
Recomendado:
Motor en movimiento con seguimiento ocular: 8 pasos
Motor en movimiento con seguimiento ocular: actualmente, los sensores de seguimiento ocular son más comunes en varias áreas, pero comercialmente son más conocidos por los juegos interactivos. Este tutorial no pretende elaborar los sensores ya que es muy complejo y debido a su uso cada vez más común el
Kits de coche de seguimiento de robot inteligente de bricolaje Seguimiento de coche fotosensible: 7 pasos
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOTPuedes comprar desde el robot de seguimiento carTheoryLM393 chip compara los dos fotorresistores, cuando hay un fotorresistor LED en BLANCO, el lado del motor se detendrá inmediatamente, el otro lado del motor girar, de modo que
QeMotion: seguimiento de movimiento para todos los auriculares: 5 pasos (con imágenes)
QeMotion - ¡Seguimiento de movimiento para todos los auriculares !: Descripción general: este dispositivo le permite utilizar el movimiento de su cabeza para desencadenar eventos en prácticamente cualquier videojuego. Funciona rastreando el movimiento de su cabeza (o auriculares en ese sentido) y activando las pulsaciones del teclado para ciertos movimientos. Entonces tu comp
Seguimiento del movimiento ocular con sensor de infrarrojos: 5 pasos
Seguimiento del movimiento ocular mediante sensor infrarrojo: utilicé un sensor infrarrojo para detectar los movimientos oculares y controlar el LED. Hice globos oculares con LED Tape NeoPixel
Seguimiento de movimiento Tfcd 3D a través de detección capacitiva y salida LED: 6 pasos (con imágenes)
Seguimiento de movimiento 3D Tfcd a través de detección capacitiva y salida LED: en esta instrucción se explica cómo se puede rastrear el movimiento de una mano en un espacio 3D utilizando el principio de detección capacitiva. Al cambiar la distancia entre una lámina de aluminio cargada y su mano, la capacidad del condensador variará