Tabla de contenido:
Video: Dispositivo de aumento y sustitución sensorial vibrotáctil (SSAD): 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
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
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…):
- En primer lugar, coloque los encabezados de apilamiento en los pines del Arduino Uno,
- Luego, coloque el protector en la parte superior, de modo que el lado corto de los pines sobresalga.
- 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:
- 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.
- Sueldelos juntos tocando los hilos de ambos cables y dejando que la soldadura fluya sobre ellos.
Paso 2: cableado
- Apila el escudo de motor encima del Arduino.
- Atornille los motores en el escudo del motor.
- 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
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:
- Haga clic en: Herramientas → Administrar bibliotecas …
- Busque "Biblioteca Adafruit Motor Shield V2" en el campo Filtrar su búsqueda
- 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
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:
Pintura sensorial: 5 pasos
Sensorial Painting: Sensorial Painting es un proyecto diseñado para que alguien no vidente pueda pintar o dibujar dentro de bordes que uno pueda delimitar. En este caso utilizaremos un Kultrun de la cultura y pueblo mapuche. SP te avisará mediante sonidos de un Trompe
Dispositivo ASS (dispositivo social antisocial): 7 pasos
Dispositivo ASS (dispositivo social antisocial): digamos que eres el tipo de persona a la que le gusta estar rodeada de gente, pero no le gusta que se acerquen demasiado. También le gusta complacer a la gente y le cuesta decir que no a la gente. Así que no sabes cómo decirles que retrocedan. Bueno, entra, ¡el dispositivo ASS! Y
Pared sensorial: 6 pasos
Pared sensorial: Pared sensorial es una escultura interactiva diseñada para ayudarlo a reducir el estrés y mejorar el estado de ánimo con el tacto, la luz de colores y el sonido. Se puede colocar en hogares, escuelas o espacios de trabajo para ayudar a reducir la ansiedad. Llevando una experiencia personal al público
Extensión sensorial de bigotes de gato usable (2.0): 6 pasos (con imágenes)
Cat Whisker Sensory Extension Wearable (2.0): este proyecto es una continuación y reinvención del " Whisker Sensory Extension Wearable " de mi antiguo colega (metaterra). El propósito de este proyecto era centrarse en la creación de "extensiones sensoriales" novedosas, enriquecidas computacionalmente, que
Haga un conector de alimentación de sustitución de la batería: 6 pasos
Haga un conector de alimentación de sustitución de la batería: después de que las baterías se agotaron en medio de una toma con mi nueva cámara con el doble de megapíxeles y funciones, descubrí que no había un conector de alimentación externo. Una vez que se pierde un disparo, puede perderse para siempre, por lo que una fuente externa de p