Tabla de contenido:

¡Monitor de fuerza de impacto Raspberry Pi !: 16 pasos (con imágenes)
¡Monitor de fuerza de impacto Raspberry Pi !: 16 pasos (con imágenes)

Video: ¡Monitor de fuerza de impacto Raspberry Pi !: 16 pasos (con imágenes)

Video: ¡Monitor de fuerza de impacto Raspberry Pi !: 16 pasos (con imágenes)
Video: La primer humanoide robot del mundo 🤖😳😱 #robot #robotics #robots #robotandroide #androide #humanoide 2024, Noviembre
Anonim
Image
Image
Lectura sugerida
Lectura sugerida

¿Cuánto impacto puede soportar el cuerpo humano? Ya sea que se trate de fútbol, escalada en roca o un accidente de bicicleta, saber cuándo buscar atención médica inmediata después de una colisión es increíblemente importante, especialmente si no hay signos evidentes de trauma. ¡Este tutorial le enseñará cómo construir su propio monitor de fuerza de impacto!

Tiempo de lectura: ~ 15 min

Tiempo de construcción: ~ 60-90 min

Este proyecto de código abierto utiliza una Raspberry Pi Zero W y un acelerómetro LIS331 para monitorear y alertar al usuario de fuerzas G potencialmente peligrosas. Por supuesto, siéntase libre de modificar y adaptar el sistema para satisfacer sus diversas necesidades de ciencia ciudadana.

Nota: ¡Crea cosas divertidas con Impact Force Monitor! Sin embargo, no lo utilice como sustituto del diagnóstico y asesoramiento médico profesional. Si siente que ha sufrido una caída grave, visite a un profesional calificado y con licencia para recibir el tratamiento adecuado.

Paso 1: Lectura sugerida

Para mantener este tutorial corto y dulce (eh, bueno, tanto como sea posible), supongo que está comenzando con un Pi Zero W funcional. ¿Necesita ayuda? ¡No hay problema! Aquí hay un tutorial de configuración completo.

También nos conectaremos a la Pi de forma remota (también conocida como de forma inalámbrica). Para obtener una descripción más completa de este proceso, consulte este tutorial.

** ¿Atascado o quieres aprender más? Aquí hay algunos recursos útiles: **

1. Excelente guía de "Introducción" para Pi.

2. Guía de conexión completa para la placa de conexión del acelerómetro LIS331.

3. ¡Más sobre acelerómetros!

4. Descripción general de los pines GPIO de Raspberry Pi.

5. Usando los buses seriales SPI e I2C en el Pi.

6. Hoja de datos de LIS331

Paso 2: Materiales

Materiales
Materiales
Materiales
Materiales
  • Kit básico Raspberry Pi Zero W

    • Este kit incluye lo siguiente: Tarjeta SD con sistema operativo NOOBS; Cable USB OTG (microUSB a USB hembra); Mini HDMI a HDMI; Fuente de alimentación microUSB (~ 5V)
    • También recomendado: concentrador USB
  • Pines de encabezado de Raspberry Pi 3

  • Placa de conexión del acelerómetro LIS331
  • Paquete de baterías con conector MicroUSB
  • LED rojo de 5 mm
  • Resistencia de 1k
  • Tubo termorretráctil de 6 "o cinta aislante
  • Pines de cabecera para acelerómetro (4-8) y LED (2)
  • Cables de puente de hembra a hembra (6)

Instrumentos

  • Soldador y accesorios
  • Epoxi (u otro adhesivo líquido permanente no conductor)
  • Probablemente también tijeras:)

Paso 3: ¡Pero espera! ¿Qué es la fuerza de impacto?

Afortunadamente, el término "fuerza de impacto" es bastante sencillo: la cantidad de fuerza en un impacto. Sin embargo, como la mayoría de las cosas, medirlo requiere una definición más precisa. La ecuación de la fuerza de impacto es:

F = KE / d

donde F es la fuerza del impacto, KE es la energía cinética (energía del movimiento) yd es la distancia del impacto, o cuánto se aplasta el objeto. Hay dos conclusiones clave de esta ecuación:

1. La fuerza de impacto es directamente proporcional a la energía cinética, lo que significa que la fuerza de impacto aumenta si aumenta la energía cinética.

2. La fuerza de impacto es inversamente proporcional a la distancia de impacto, lo que significa que la fuerza de impacto disminuye si la distancia de impacto aumenta. (Por eso tenemos airbags: para aumentar la distancia de nuestro impacto).

La fuerza se mide típicamente en Newtons (N), pero la fuerza de impacto se puede discutir en términos de una "Fuerza G", un número expresado como un múltiplo de g, o la aceleración gravitacional de la Tierra (9,8 m / s ^ 2). Cuando usamos unidades de fuerza G, estamos midiendo la aceleración de un objeto en relación con la caída libre hacia la Tierra.

Técnicamente hablando, g es una aceleración, no una fuerza, pero es útil cuando se habla de colisiones porque la aceleración * es lo que daña el cuerpo humano.

Para este proyecto, usaremos unidades de fuerza G para determinar si un impacto es potencialmente peligroso y merece atención médica. La investigación ha encontrado que las fuerzas G por encima de 9G pueden ser fatales para la mayoría de los seres humanos (sin entrenamiento especial), y 4-6G pueden ser peligrosas si se mantienen durante más de unos pocos segundos.

Sabiendo esto, podemos programar nuestro monitor de fuerza de impacto para que nos avise si nuestro acelerómetro mide una fuerza G por encima de cualquiera de estos umbrales. ¡Hurra, ciencia!

Para obtener más información, lea sobre la fuerza de impacto y la fuerza g en Wikipedia.

La aceleración es un cambio de velocidad y / o dirección

Paso 4: configurar el Pi Zero W

Configurar el Pi Zero W
Configurar el Pi Zero W

¡Reúna su Raspberry Pi Zero y periféricos para configurar el Pi para que no tenga cabeza!

  • Conecte el Pi a un monitor y los periféricos asociados (teclado, mouse), conecte la fuente de alimentación e inicie sesión.
  • Actualice el software para mantener su Pi rápido y seguro. Abra la ventana de la terminal y escriba estos comandos:

    Escriba e ingrese:

sudo apt-get update

Escriba e ingrese:

sudo apt-get upgrade

Reiniciar:

sudo shutdown -r ahora

Paso 5: habilite WiFi e I2C

Habilitar WiFi e I2C
Habilitar WiFi e I2C
Habilitar WiFi e I2C
Habilitar WiFi e I2C
Habilitar WiFi e I2C
Habilitar WiFi e I2C
  • Haga clic en el icono de WiFi en la esquina superior derecha del escritorio y conéctese a su red WiFi.
  • En la terminal, escriba este comando para abrir la herramienta de configuración de software de Pi:

sudo raspi-config

  • Seleccione "Opciones de interfaz", luego "SSH", y elija "Sí" en la parte inferior para habilitar.
  • Vuelva a "Opciones de interfaz", luego "I2C" y seleccione "Sí" para habilitar.
  • En la terminal, instale el software de conexión de escritorio remoto:

sudo apt-get install xrdp

  • Escribe "Y" (sí) en tu teclado en ambas indicaciones.
  • Encuentre la dirección IP de Pi colocando el cursor sobre la conexión WiFi (es posible que también desee escribirla).
  • Cambie la contraseña de Pi con el comando passwd.

Paso 6: reinicie el Pi e inicie sesión de forma remota

Reinicie la Pi e inicie sesión de forma remota
Reinicie la Pi e inicie sesión de forma remota

Ahora podemos deshacernos de HDMI y periféricos, ¡woohoo!

  • Configure una conexión de escritorio remoto.

    • En una PC, abra Conexión a escritorio remoto (o PuTTY si se siente cómodo con eso).
    • Para Mac / Linux, puede instalar este programa o usar un programa VNC.
  • Ingrese la IP del Pi y haga clic en "Conectar" (ignore las advertencias sobre dispositivos desconocidos).
  • Inicie sesión en Pi con sus credenciales y ¡listo!

Paso 7: Constrúyalo: ¡Electrónica

Constrúyalo: ¡Electrónica!
Constrúyalo: ¡Electrónica!
Constrúyalo: ¡Electrónica!
Constrúyalo: ¡Electrónica!

Las dos fotos de arriba muestran el esquema eléctrico de este proyecto y el Pi Zero Pinout. Necesitaremos ambos para abordar las conexiones de hardware.

Nota: La placa de conexiones LIS331 en el esquema es una versión anterior; use las etiquetas de los pines como guía

Paso 8: conecte el acelerómetro al GPIO de Pi

Conecte el acelerómetro al GPIO de Pi
Conecte el acelerómetro al GPIO de Pi
Conecte el acelerómetro al GPIO de Pi
Conecte el acelerómetro al GPIO de Pi
Conecte el acelerómetro al GPIO de Pi
Conecte el acelerómetro al GPIO de Pi
  • Suelde y elimine con cuidado cualquier residuo de fundente en el acelerómetro y los pines del cabezal de Pi GPIO.
  • Luego, conecte los cables de puente entre la placa de conexión LIS331 y Pi entre los siguientes pines:

Pin GPIO Raspberry Pi de la placa de conexión LIS331

GND GPIO 9 (GND)

VCC GPIO 1 (3,3 V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Para facilitar la conexión del sensor al Pi Zero, se hizo un adaptador personalizado utilizando un conector hembra y cables de puente. Se añadió termorretráctil después de probar las conexiones

Paso 9: ¡Agregue un LED de alerta

¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
¡Agregue un LED de alerta!
  • Suelde una resistencia limitadora de corriente a la pata del LED negativo (pata más corta) y agregue una envoltura retráctil (o cinta aislante) para aislar.
  • Utilice dos cables de puente o clavijas de encabezado para conectar la pata del LED positivo a GPIO26 y la resistencia a GND (posiciones de encabezado 37 y 39, respectivamente).
  • ¡Conecte el paquete de baterías a la alimentación de entrada del Pi para completar la configuración!

Paso 10: ¡Prográmelo

Programarlo!
Programarlo!

¡El código Python para este proyecto es de código abierto! Aquí hay un enlace al repositorio de GitHub.

Para personas nuevas en programación:

Lea el código del programa y los comentarios. Las cosas que son fáciles de modificar se encuentran en la sección "Parámetros de usuario" en la parte superior

Para personas más cómodas con los detalles técnicos:

Este programa inicializa el acelerómetro LIS331 con la configuración predeterminada, incluido el modo de energía normal y la velocidad de datos de 50 Hz. Lea la hoja de datos de LIS331 y modifique la configuración de inicialización como desee

Todos

  • La escala de aceleración máxima utilizada en este proyecto es 24G, ¡porque la fuerza de impacto aumenta muy rápido!
  • Se recomienda comentar las declaraciones de impresión de aceleración en la función principal cuando esté listo para la implementación completa.

Antes de ejecutar el programa, verifique que la dirección del acelerómetro sea 0x19. Abra la ventana de la terminal e instale algunas herramientas útiles con este comando:

sudo apt-get install -y i2c-tools

Luego ejecute el programa i2cdetect:

i2cdetect -y 1

Verá una tabla de direcciones I2C que se muestra en la imagen de arriba. Suponiendo que este es el único dispositivo I2C conectado, el número que ve (en este caso: 19) es la dirección del acelerómetro. Si ve un número diferente, tome nota y cámbielo en el programa (dirección variable).

Paso 11: Descripción general rápida del programa

Descripción general rápida del programa
Descripción general rápida del programa

El programa lee la aceleración x, y, z, calcula una fuerza g y luego guarda los datos en dos archivos (en la misma carpeta que el código del programa) según corresponda:

  • AllSensorData.txt: proporciona una marca de tiempo seguida de la fuerza g en los ejes x, y y z.
  • AlertData.txt: igual que el anterior, pero solo para lecturas que estén por encima de nuestros umbrales de seguridad (umbral absoluto de 9G o 4G durante más de 3 segundos).

Las fuerzas G por encima de nuestros umbrales de seguridad también encenderán nuestro LED de alerta y lo mantendrán encendido hasta que reiniciemos el programa. Detenga el programa escribiendo “CTRL + c” (interrupción del teclado) en el terminal de comando.

La foto de arriba muestra ambos archivos de datos creados durante la prueba.

Paso 12: ¡Pruebe el sistema

¡Pruebe el sistema!
¡Pruebe el sistema!
¡Pruebe el sistema!
¡Pruebe el sistema!

Abra la ventana del terminal, navegue hasta la carpeta donde guardó el código del programa usando el comando cd.

ruta de cd / a / carpeta

Ejecute el programa con privilegios de root:

sudo python NameOfFile.py

Compruebe que los valores de aceleración en las direcciones x, y y z se estén imprimiendo en la ventana del terminal, sean razonables y encienda la luz LED si la fuerza g está por encima de nuestros umbrales.

  • Para probar, gire el acelerómetro de modo que cada eje apunte hacia la tierra y verifique que los valores medidos sean 1 o -1 (corresponde a la aceleración debida a la gravedad).
  • Agite el acelerómetro para asegurarse de que las lecturas aumenten (el signo indica la dirección del eje, lo que más nos interesa es la magnitud de la lectura).

Paso 13: ¡Asegure las conexiones eléctricas e instálelas

¡Asegure las conexiones eléctricas e instálelas!
¡Asegure las conexiones eléctricas e instálelas!

Una vez que todo esté funcionando correctamente, ¡asegurémonos de que el monitor de fuerza de impacto realmente pueda resistir el impacto!

  • Utilice un tubo termorretráctil y / o cubra las conexiones eléctricas del acelerómetro y el LED con epoxi.
  • Para instalaciones permanentes y súper duraderas, considere cubrir todo el shebang con epoxi: el Pi Zero, el LED y el acelerómetro (pero NO los conectores del cable Pi o la tarjeta SD).

    ¡Advertencia! Aún puede acceder al Pi y hacer todas las cosas de la computadora, pero una capa completa de epoxi evitará el uso de los pines GPIO para proyectos futuros. Alternativamente, puede hacer o comprar un estuche personalizado para el Pi Zero, aunque verifique la durabilidad

¡Asegúrelo a un casco, a su persona oa un medio de transporte como su patineta, bicicleta o gato *!

Pruebe completamente que el Pi esté bien sujeto o que los pines GPIO se aflojen y el programa se bloquee.

* Nota: Originalmente quise escribir "coche", pero pensé que un monitor de fuerza de impacto para un gato también podría proporcionar algunos datos interesantes (con el consentimiento de Kitty, por supuesto).

Paso 14: incrustación del circuito en un casco

Incrustar el circuito en un casco
Incrustar el circuito en un casco
Incrustar el circuito en un casco
Incrustar el circuito en un casco
Incrustar el circuito en un casco
Incrustar el circuito en un casco

Hay algunos métodos para integrar el circuito en un casco. Este es mi enfoque para la instalación de un casco:

  • Si aún no lo ha hecho, conecte la batería a Pi (con la batería apagada). Asegure el acelerómetro a la parte posterior del Pi con aislamiento no conductor en el medio (como plástico de burbujas o espuma de embalaje delgada).
  • Mida las dimensiones de la combinación Pi Zero, acelerómetro, LED y conector de batería. Agregue un 10% a cada lado.
  • Dibuja un recorte para el proyecto en un lado del casco, con el conector de la batería hacia la parte superior del casco. Corta el acolchado del casco dejando unos pocos milímetros (~ 1/8 pulg.).
  • Coloque el sensor, Pi y LED en el recorte. Corte pedazos del acolchado sobrante del casco o use espuma de embalaje para aislar, proteger y mantener los componentes electrónicos en su lugar.
  • Mida las dimensiones de la batería, agregue un 10% y siga el mismo corte para la batería. Inserte la batería en el bolsillo.
  • Repita la técnica de aislamiento para la batería en el otro lado del casco.
  • Sujete el acolchado del casco en su lugar con cinta adhesiva (su cabeza los mantendrá en su lugar cuando lo use).

Paso 15: ¡Implementar

¡Desplegar!
¡Desplegar!
¡Desplegar!
¡Desplegar!

¡Encienda la batería!

Ahora puede iniciar sesión de forma remota en el Pi a través de SSH o el escritorio remoto y ejecutar el programa a través del terminal. Una vez que el programa se está ejecutando, comienza a registrar datos.

Cuando se desconecte de la red WiFi de su hogar, la conexión SSH se interrumpirá, pero el programa aún debería registrar datos. Considere conectar el Pi al punto de acceso WiFi de su teléfono inteligente, o simplemente vuelva a iniciar sesión y obtenga los datos cuando llegue a casa.

Para acceder a los datos, inicie sesión de forma remota en el Pi y lea los archivos de texto. El programa actual siempre agregará datos a los archivos existentes: si desea eliminar datos (como de las pruebas), elimine el archivo de texto (a través del escritorio o use el comando rm en la terminal) o cree un nuevo nombre de archivo en el programa código (en los parámetros de usuario).

Si el LED está encendido, reiniciar el programa lo apagará.

Ahora adelante, diviértete en la vida y verifica los datos de vez en cuando si te encuentras con algo. Con suerte, es un pequeño golpe, ¡pero al menos lo sabrás!

Paso 16: agregar más funciones

Agregar más funciones
Agregar más funciones

¿Busca mejoras en el monitor de fuerza de impacto? Está fuera del alcance del tutorial, ¡pero intente mirar la lista a continuación para obtener ideas!

¡Haga un análisis de sus datos de fuerza g en Python!

El Pi Zero tiene capacidades de Bluetooth y WiFi: ¡escriba una aplicación para enviar los datos del acelerómetro a su teléfono inteligente! Para comenzar, aquí hay un tutorial para un Pi Twitter Monitor.

¡Agregue otros sensores, como un sensor de temperatura o un micrófono *!

¡Feliz edificio

* Nota: ¡Para escuchar los silbidos asociados con su aceleración!:D

Recomendado: