Tabla de contenido:

Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD): 4 pasos
Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD): 4 pasos

Video: Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD): 4 pasos

Video: Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD): 4 pasos
Video: Entendiendo y SANANDO tus traumas / Audiolibro completo 2024, Noviembre
Anonim
Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD)
Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD)
Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD)
Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD)

Este proyecto tiene como objetivo facilitar la investigación en el área de Sustitución y Aumento Sensorial. Tuve la posibilidad de explorar diferentes formas de construir prototipos SSAD vibrotáctiles dentro de mi tesis de maestría. Dado que la sustitución y el aumento sensorial es un tema que concierne no solo a los científicos informáticos, sino también a los investigadores de otros campos, como la ciencia cognitiva, una instrucción paso a paso debería permitir a los no expertos en electrónica e informática ensamblar este prototipo por su cuenta. motivo de investigación.

No pretendo hacer publicidad para exactamente un tipo de marca / producto. Este proyecto no fue patrocinado por ninguna empresa. El material que utilicé fue elegido por especificaciones técnicas y conveniencia (rapidez / costo de entrega, disponibilidad, etc.). Para todos los productos que se mencionan en este Instructable, están disponibles alternativas igualmente adecuadas.

El Instructable actual contiene instrucciones paso a paso sobre cómo construir un prototipo SSAD básico con hasta 4 motores y sensores analógicos.

Además de este Instructable, he creado tres extensiones: En primer lugar, publiqué instrucciones sobre cómo usar más de cuatro motores con este prototipo SSAD (https://www.instructables.com/id/Using-More-Than-4…). En segundo lugar, creé un ejemplo de cómo hacer este prototipo portátil (https://www.instructables.com/id/Making-the-SSAD-W…) y cómo cubrir motores ERM sin masa giratoria encapsulada (https: / /www.instructables.com/id/Covering-Rotating…). Además, también se publica un ejemplo de cómo integrar otros sensores que no sean analógicos (en este caso, un sensor de proximidad) en el prototipo (https://www.instructables.com/id/Incluyendo-a-Proxi…).

¿Qué es "Sustitución y Aumento Sensorial"?

Con la sustitución sensorial, la información recopilada por una modalidad sensorial (por ejemplo, la vista) se puede percibir a través de otro sentido (por ejemplo, el sonido). Es una técnica no invasiva prometedora que ayuda a las personas a superar la pérdida o el deterioro sensorial.

Si el estímulo sensorial, que se traduce, normalmente no es percibido por los seres humanos (por ejemplo, la luz ultravioleta), este enfoque se denomina aumento sensorial.

¿Qué habilidades se necesitan para construir este prototipo?

Básicamente, no se necesitan conocimientos avanzados de programación para seguir las instrucciones que se proporcionan a continuación. Sin embargo, si es un principiante en la soldadura, planifique algo de tiempo adicional para familiarizarse con esta técnica. En caso de que nunca haya programado antes, es posible que necesite ayuda de alguien con más experiencia en programación.

¿Se necesitan máquinas o herramientas que sean caras o que no estén disponibles fácilmente?

Excepto un soldador, no se requieren máquinas o herramientas para construir este prototipo que no se pueden comprar fácilmente en línea o en la próxima tienda para el hogar. Este SSAD está diseñado para permitir la creación rápida de prototipos, lo que significa que debe ser reproducible rápidamente y permitir una exploración de ideas económica.

Suministros

Componentes principales (alrededor de 65 £ por 4 motores, sin equipo de soldadura)

  • Arduino Uno (por ejemplo, https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (por ejemplo, https://www.adafruit.com/product/1438, 20 £) y cabezales de apilamiento masculinos (normalmente incluidos al comprar el protector de motor)
  • Motores ERM cilíndricos (por ejemplo, https://www.adafruit.com/product/1438, 5, 50 £ / motor)
  • Soldador y alambre de soldar
  • Alambres

Opcional (ver Extensiones)

Si se compra un motor ERM con masa giratoria descubierta:

  • Tubo de vinilo
  • Tablero fino y suave
  • Impresora 3D (para carcasa Arduino)

Si desea utilizar más de 4 motores (durante más de 8 mismos en otro momento):

  • Adafruit Motorshield v2.3 y encabezados de apilamiento masculinos
  • Encabezados de apilamiento femeninos (por ejemplo,
  • Arduino Mega para más de 6 motores (por ejemplo,

Paso 1: soldadura

Soldadura
Soldadura

Suelde los pines al escudo del motor

Adafruit ofrece un tutorial muy completo sobre cómo soldar encabezados a un escudo de motor (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. En primer lugar, coloque los encabezados de apilamiento en los pines del Arduino Uno,
  2. Luego, coloque el protector en la parte superior, de modo que el lado corto de los pines sobresalga.
  3. Después de eso, suelde todos los pines al escudo y asegúrese de que la soldadura fluya alrededor del pin y forme una forma de volcán (vea la imagen de arriba, que fue adoptada de https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189…).

Si es un principiante en soldadura, ayúdese con más tutoriales, como

Suelde cables más largos al motor

Como la mayoría de los motores vienen sin cables muy cortos y delgados, tiene sentido extenderlos soldando a cables más largos y robustos. Así es como puedes hacer eso:

  1. Retire el plástico alrededor del extremo de los cables y colóquelos de modo que estén en contacto entre sí a lo largo de sus cables expuestos, como en la imagen.
  2. Sueldelos juntos tocando los hilos de ambos cables y dejando que la soldadura fluya sobre ellos.

Paso 2: cableado

Alambrado
Alambrado
  1. Apila el escudo de motor encima del Arduino.
  2. Atornille los motores en el escudo del motor.
  3. Conecte los sensores analógicos a Arduino (en la imagen, esto se hace con sensores de luz, pero el mismo circuito se ve igual para otros sensores analógicos).

Paso 3: codificación

Codificación
Codificación
Codificación
Codificación
Codificación
Codificación
Codificación
Codificación

1. Descarga

Descargue la carpeta zip (SSAD_analogueInputs.zip), adjunta a continuación. Descomprímelo.

Descargue el IDE de Arduino (https://www.arduino.cc/en/main/software).

Abra el archivo Arduino (SSAD_analogueInputs.ino) que está dentro de la carpeta descomprimida con el IDE de Arduino.

2. Instalar bibliotecas

Para ejecutar el código proporcionado, necesita instalar algunas bibliotecas. Entonces, si el archivo Arduino, que se adjunta al final de este artículo, está abierto dentro del IDE de Arduino, haga lo siguiente:

  1. Haga clic en: Herramientas → Administrar bibliotecas …
  2. Busque "Biblioteca Adafruit Motor Shield V2" en el campo Filtrar su búsqueda
  3. Instálelo haciendo clic en el botón Instalar

Después de descargar esas bibliotecas, ahora las declaraciones #include en los códigos provistos deberían funcionar. Compruébelo haciendo clic en el botón "Verificar" (Marque en la parte superior izquierda). Sabes que todas las bibliotecas funcionan, si recibes el mensaje "Compilación terminada" en la parte inferior del programa. De lo contrario, aparecerá una barra roja y recibirá un mensaje de lo que salió mal.

3. Cambiar el código

Cambie el código de acuerdo con su caso de uso siguiendo las instrucciones a continuación:

Inicio de motores y sus salidas sensoriales

En primer lugar, declare qué pines utilizan los motores, así como en qué rango funcionan. Por ejemplo, un motor que está conectado a M4 y funciona en un rango (de velocidad) de 25 y 175 se declara así (debajo del comentario PRINCIPAL):

Motor motor1 = Motor (4, 25, 175);

Cuando se trabaja con motores de vibración pequeños que se accionan en un rango de hasta 3 V, el protector de motor debe usarse con precaución, ya que está hecho para hacer funcionar motores de 4,5 V CC a 13,5 V CC. Para no dañar los motores de 3 V, restringí programáticamente la salida de voltaje del escudo a un máximo de 3 V (exactamente 2,95 V). Lo hice midiendo cuánto es la velocidad máxima de 255 en voltios y medí con un multímetro que esto es 4.3V. Por lo tanto, nunca permití una velocidad superior a 175, que es aproximadamente 3V, a los motores.

Cada motor estará conectado con una salida sensorial.

Una salida sensorial se compone de uno o varios estímulos sensoriales. Por ejemplo, un motor podría vibrar de acuerdo con un solo sensor o de acuerdo con el promedio de múltiples sensores posicionados de manera diferente.

Por lo tanto, en primer lugar para cada motor, se debe declarar una SensoryOutput. Los números dentro de los paréntesis son el valor mínimo y máximo de lo que el sensor (grupo) puede percibir. Para los sensores analógicos, esto es principalmente 0 y 1023:

Salida sensorial salida 1 = Salida sensorial (0, 1023);

En la función loop (), cada motor se asigna a un valor de salida. Aquí escribe para cada motor la siguiente declaración y en lugar de "salida1", cualquier valor de SensoryOutput debe estar conectado a él. No olvide cambiar también todos los nombres de "salida1" en esta línea, si usa otro nombre.

motor1.drive (salida1.getValue (), salida1.getMin (), salida1.getMax ());

Si lo desea, puede dar a varios motores (por ejemplo, motor1 y motor2) la misma salida sensorial (por ejemplo, salida1).

Además, puede dar los valores de varios sensores a un motor (consulte la siguiente sección).

Definición de los sensores

En la función setup () debe declararse qué sensores van a formar parte de qué vibración del motor (SensoryOutput). Aquí hay un ejemplo de cómo se define que el sensor que está conectado al Pin A0 de Arduino debe traducirse en vibraciones con motor1 y, en consecuencia, salida1:

output1.include (A0);

Si se deben combinar varias salidas sensoriales dentro de la vibración de un motor, simplemente puede agregar otro pin de entrada analógica a la salida1:

output1.include (A1);

De lo contrario, continúe con la siguiente salida:

salida2.incluir (A1);

Combinando múltiples sensores

Como se mencionó anteriormente, múltiples entradas de sensor (por ejemplo, de A0, A1 y A2) se pueden dirigir a un motor. El código, que proporciono, está calculando el promedio de los valores que son leídos por todos los sensores incluidos. Entonces, si esto es suficiente para su caso de uso y simplemente desea mapear directamente, por ejemplo, una entrada sensorial baja a una vibración baja, ha terminado y no tiene que pensar en lo siguiente:

Sin embargo, si tiene otras ideas de lo que quiere hacer con una o varias entradas sensoriales sin procesar, puede hacerlo según los cambios en la función int getValue () en la clase SensoryOutput:

int getValue () {

finalOutput = 0; // TODO haga lo que quiera con los valores sensoriales // aquí se construye el promedio, si se combinan varios valores para (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Sube el código a tu prototipo Arduino

Conecte el prototipo Arduino (del paso 2) a su PC.

Haga clic en Herramientas → Puerto → Seleccione el puerto, donde Arduino / Genuino Uno está escrito entre paréntesis

Haga clic en Herramientas → Placa → Arduino / Genuino Uno

Ahora, los motores deberían funcionar de acuerdo con las entradas de los sensores analógicos. Si lo desea, puede desconectar el Arduino de su PC y conectarlo a otra fuente de alimentación, como una batería de 9V.

Paso 4: posibles extensiones

Posibles extensiones
Posibles extensiones
Posibles extensiones
Posibles extensiones
Posibles extensiones
Posibles extensiones

El prototipo que acaba de construir permite entradas exclusivamente analógicas y puede accionar hasta cuatro motores. Además, aún no se puede usar. Si desea ampliar esas funciones, consulte las siguientes instrucciones:

  • Cubriendo masas giratorias de motores ERM:
  • Cómo hacer que el SSAD sea portátil:
  • Uso de más de 4 motores: apilamiento de múltiples escudos de motor:
  • Usando un sensor de proximidad ultrasónico como entrada SSAD:

Recomendado: