Tabla de contenido:

OUCH: 6 pasos
OUCH: 6 pasos

Video: OUCH: 6 pasos

Video: OUCH: 6 pasos
Video: Busta Rhymes - Touch It (TikTok Remix 2021) 2024, Noviembre
Anonim
AY
AY
AY
AY

Ouch es su ayudante de cataratas inútil omnidireccional personal. Cuando el reconocimiento facial golpea al Zeitgeist, ¡OUCH te golpea! ¡OUCH no solo sabe cómo te ves, también sabe cómo ser muy molesto! A diferencia del hermano mayor, esta máquina es muy visible y cumple un solo propósito: hacer tu vida un poquito más miserable. ¿Alguna vez olvidaste tus gafas de sol en casa y te sorprendió un reflejo brillante? OUCH te permite revivir este momento una y otra vez. Al reflejar la luz de la fuente de luz más brillante a tu alrededor directamente en tu cara, se asegurará de que no disfrutes ni un solo momento a tu alrededor.

¡Cuidado, o OUCH podría ser lo último que veas!

El proyecto se realizó como parte del seminario de Diseño Computacional y Fabricación Digital en el programa de maestría ITECH.

August Lehrecke | Max Zorn

Suministros

Partes electronicas:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • Fotorresistores 4x
    • 4 resistencias de 10k
    • 2x potenciómetros
    • 1x cable de impresora USB

Frambuesa pi

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 Servocontrolador PWM de 16 canales y 12 bits
    • Fuente de alimentación externa de 5v DC
    • 1x Rasberry Pi 5.1V - Fuente de alimentación de 3Amp (o equivalente externo)
    • 1x Sensor ultrarrápido MAKERFACTORY HC-SR05 (MF-6402156)
    • 1x resistencia de 470 ohmios
    • 1x resistencia de 320 ohmios

Piezas impresas en 3D:

Los OUCH vienen en varias formas y tamaños. Para esta versión, usamos una impresora 3D para imprimir mecanismos personalizados.

  • 4 x soporte
  • 2 x Base S
  • 1 x Base L
  • 2 x Base de rotación doble
  • 1 x Base de rotación individual
  • 1 x juego de soporte de eje S
  • 1 x juego de soporte de eje M
  • 1 x juego de soporte de eje L
  • 1 x montaje de cámara
  • 1 x soporte de luz
  • 1 x montaje en espejo

Opcionalmente, puede utilizar el diseño de torre proporcionado para ensamblar los componentes para:

  • 1 x torre (en lugar de 4 x soporte)
  • 1 x Base S y 1x Base M (en lugar de 2 x Base S)

Otras partes:

  • Mylar
  • 1 x banda de goma
  • 1 x corbata con cremallera
  • 12 tornillos de cabeza plana M5 x 160
  • 2 tornillos de cabeza plana M5 x 80

Instrumentos:

  • impresora 3d
  • Destornillador H3.0
  • Pistola de silicona

Paso 1: Paso 1: Impresión de las piezas

Si tiene acceso a una impresora 3D, puede imprimir mecanismos personalizados para alojar los Servos y montar los tres componentes principales.

Para el componente Cara, necesitamos:

  • 2 x soportes
  • 1 x Base L
  • 1 x base giratoria doble
  • 1 x juego de soporte de eje M
  • 1 x Cámara y montaje de sensor de distancia

El componente Light requiere:

  • 1 x soporte
  • 1 x Base S
  • 1 x Base giratoria doble
  • 1 x juego de soporte de eje S
  • 1 x soporte de luz

Los componentes Mirror constan de lo siguiente:

  • 1 x soporte
  • 1 x Base S
  • 1 x Base giratoria individual
  • 1 x juego de soporte de eje L
  • Montaje en espejo

Por último, también puede imprimir la torre proporcionada.

Si desea utilizarlo como base para los tres componentes, deberá ajustar la matemática vectorial en el código en consecuencia. Además, conecte el componente Face con Base M en lugar de Base L a la torre.

Paso 2: Paso 2: Hacer el espejo

Paso 2: hacer el espejo
Paso 2: hacer el espejo
Paso 2: hacer el espejo
Paso 2: hacer el espejo

Para hacer su propio componente Espejo, corte una pieza circular de Mylar y colóquela encima de la parte del espejo impresa en 3D. Luego, primero use una banda de goma para fijarlo en su lugar. La banda de goma debe encajar dentro de la ranura alrededor del componente. Luego use una brida para asegurar suavemente la conexión, no la apriete demasiado todavía. Ahora puede comenzar a estirar el Mylar hasta obtener una superficie brillante y reflectante. Por último, aprieta la cremallera y disfruta del reflejo de tu hermoso rostro.

Paso 3: Paso 3: Montaje de los componentes

Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes
Paso 3: ensamblar los componentes

Componente facial

  1. Pegue en caliente el primer Servo en el corte correspondiente de la base giratoria
  2. Pegue el conector Servo en la ranura, ubicada en la parte inferior de la parte de la base
  3. Coloque las dos partes de la base juntas, de modo que el Servo se enclave con el conector
  4. Utilice el tornillo del Servo para fijar el conector al Servo
  5. Pegue con pegamento caliente la segunda pieza del conector en la ranura correspondiente, ubicada en la parte superior del soporte del eje
  6. Utilice 4 tornillos M5 para atornillar el soporte del eje a la base giratoria
  7. Pega con pegamento caliente el segundo Servo a la montura
  8. Deslice la cámara sobre los pines
  9. Conecte el sensor de distancia ultrasónico al soporte, ya sea mediante atornillado o pegado en caliente
  10. Conecte el soporte de la cámara / sensor al soporte del eje, el Servo nuevamente tiene que deslizarse en la pieza del conector
  11. Utilice el tornillo del Servo para fijar el conector al Servo
  12. Atornille la Raspberry Pi y el servodriver a una pieza de madera contrachapada (asegúrese de que el espacio coincida con los orificios de la Base L)
  13. Atornille el componente de la cara a los soportes, usando pernos M5

Componente espejo

  1. Siga los pasos 1 a 7
  2. Conecte el espejo al soporte del eje
  3. Pegue un soporte de espejo a la madera contrachapada, de modo que el componente Espejo y Cara estén alineados
  4. Atornille el componente del espejo al soporte, usando pernos M5

Componente ligero

  1. Siga los pasos 1 a 7 de arriba
  2. Pase los sensores de luz a través de los orificios de montaje en la parte inferior de la cruz de sombreado
  3. Conecte la cruz de sombreado al soporte del eje, el Servo nuevamente tiene que deslizarse en la pieza del conector
  4. Utilice el tornillo del Servo para fijar el conector al Servo
  5. Pegue un soporte a la madera contrachapada, de modo que los componentes Luz, Espejo y Cara estén alineados y el Espejo esté entre los componentes Cara y Luz
  6. Atornille el componente de la cara a los soportes, usando pernos M5

* Todos los componentes también se pueden conectar a la torre, sin embargo, tenga en cuenta la mayor complejidad de codificación y cableado y el tiempo de impresión. Si desea utilizar la torre, utilice la parte Base M en lugar de la Base L para el componente Cara y atornille las partes Base a la torre con los ojales y los pernos M5.

Paso 4: Paso 4: Configurar las placas

Paso 4: configurar las placas
Paso 4: configurar las placas
Paso 4: configurar las placas
Paso 4: configurar las placas
Paso 4: configurar las placas
Paso 4: configurar las placas

Aquí está el diagrama de cableado de los tres componentes. El rastreador solar actúa en su propio bucle en el Arduino y envía sus posiciones de servo a la Rasberry Pi a través del puerto USB serie. Se puede conectar un sensor de distancia opcional a la parte delantera de la cámara giratoria / inclinación piCamera para crear una triangulación más robusta del objetivo. Aquí los alinearemos en línea recta y solo promediaremos los vectores para que no sea necesario.

Cuatro servos están conectados al servocontrolador PCA9685 que se alimenta con una fuente de alimentación externa de 5v. Dos de los servos controlan la panorámica y la inclinación de la cámara de seguimiento facial, mientras que los dos restantes controlan la panorámica y la inclinación del espejo.

Paso 5: el código:

El código
El código

El código para este proyecto se puede dividir en dos partes: el código de seguimiento de luz de Arduino y el código de posicionamiento de espejo / seguimiento facial de Python.

Código Arduino:

Este código es una versión ligeramente modificada del proyecto de seguimiento solar de geobruce. Es una gran referencia para obtener más información sobre el componente de seguimiento solar y se pueden encontrar más detalles en esta página de instrucciones. Los valores de intensidad de luz se toman de las 4 fotorresistencias y se promedian para encontrar el área más brillante y ajustar los servos en consecuencia. Luego escribimos los valores del ángulo del servo en el puerto serie.

Código Python:

Este código integra CV abierto para crear un mecanismo de inclinación panorámica de seguimiento facial y también impulsa los servos del espejo. Tendrá que seguir algunos pasos para descargar un CV abierto en su Raspberry pi. Hay muchos recursos para esto, pero me gusta mucho el de pyimagesearch. Puede encontrar un recorrido completo de este proceso aquí. Nota: Hemos descargado las bibliotecas de CV abiertas en un entorno virtual en el que ejecutamos todo el código, si decidió hacer esto, asegúrese de descargar todas las dependencias en el entorno virtual en el que está ejecutando el programa y no el Pi en sí.

Una vez que haya descargado el CV abierto, este código también requerirá algunas dependencias más (instaladas en el entorno específico que está ejecutando) para ejecutarse:

  • Adafruit ServoKit: aquí se puede encontrar una página completa sobre el proceso de descarga en Raspberry Pi.
  • imutils
  • numpy
  • gpiozero (si usa sensor de distancia)

Para el seguimiento de rostros, el script requiere un argumento (--faces) que es un archivo.xml que openCv usa para encontrar rostros. Tendrá que poner este archivo en el mismo directorio que el script de Python. Lo he proporcionado en las descargas y también se puede encontrar aquí.

Paso 6: Ejecutar el código

Ejecutando el código
Ejecutando el código
Ejecutando el código
Ejecutando el código

Una vez que haya descargado todo el código en el mismo directorio y haya configurado su entorno virtual con CV abierto, estará listo para ejecutarlo.

  1. Abra el símbolo del sistema en su pi
  2. Escriba workon cv (o el nombre que elija para su entorno virtual)
  3. Cambie el directorio donde tiene sus archivos almacenados (cd (ruta a los archivos))
  4. La última línea ejecuta el programa y especifica el archivo en cascada haar. (Python Face3.py --faces haarcascade_frontalface_default.xml)

Cuando lo ejecute, debería ver un flujo de video del picam emergente en la pantalla y el símbolo del sistema comenzará a imprimir los valores de los servos de los seis servos.

¡Y ya está! Dependiendo de la calidad de los servos que tenga, es posible que desee calibrarlos específicamente para mejorar la precisión de su sistema. Terminamos teniendo que modificar todos los rangos de PWM para que funcionen correctamente.

Recomendado: