Talaan ng mga Nilalaman:

Guante Traductor De Lengua De Signos: 6 Hakbang
Guante Traductor De Lengua De Signos: 6 Hakbang

Video: Guante Traductor De Lengua De Signos: 6 Hakbang

Video: Guante Traductor De Lengua De Signos: 6 Hakbang
Video: Traductor de lenguaje de señas robotico 👍🏻👊🏻✌🏻👌🏻✊🏻🤛🏻 2024, Hulyo
Anonim
Guante Traductor De Lengua De Signos
Guante Traductor De Lengua De Signos

Si Y si te dijera que ahora es posible hablar sin abrir la boca? La vida de una persona sordomuda no es sencilla, no todo el mundo conoce la lengua de signos y es komplicada la convivencia sin un traductor. ¡El traductor que proponemos pluralros está al alcance de tu mano! Con pocos materiales algo de código puedes construir un guante que traduzca la lengua de signos por un altavoz o una pantalla para que la convivencia se haga un poco más amena. El proyecto que proponemos únicamente sirve para el abecedario, pero ang animamos a que lo nagpadayon para sa conseguir traducir palabras y así entre todos podamos hacer un producto que pueda ser realmente para todo el mundo. Los materiales que vamos a utilizar son:

  • Un guante. Nosotros hemos utilizado uno que tenga la opción de escribir en pantallas táctil para que el día a día sea algo más ameno.
  • 6 acelerómetros. Elegimos los MPU6050 por ser los más fáciles de encontrar en el mercado, pero realmente te vale cualquier otro que encuentres.
  • Un microprocesador. El SP32 Heltec nos ha servido por tener pantalla insertada. Además, se puede programar en el IDE de Arduino, ay popular sa este tiempos que corren.
  • Un altavoz de 8 ohmios de resistencia interna para aprovechar al máximo la potencia.
  • Un módulo para tarjetas SD. Mahusay na audio de cada símbolo que guardemos. Hemos utilizado el DFPlayer mini MP3 por su facilidad de uso.
  • Batería. Una batería de litio de 9000mAh será suf sapate para nuestro proyecto, no ocupa mucho y permite una vida larga al proyecto. Si añadimos un switch podemos encender y apagar el dispositivo cuando queramos.
  • Kable. Aunque parezca una tontería, siempre es el elemento que se nos olvida al empezar un proyecto y es de lo más elemental. Recomendamos cable fino y hay que tener en cuenta que cada acelerómetro usa 5 mga kable. Walang mga preocupéis, es realmente barato.

  • Una placa de inserción. Nos sirve con 4 columnas cortocircuitadas por 8 pines cada una, lo que es bastante pequeña para no notarse en el guante. Ito ay opcional, ngunit hindi ito napapansin ng isang tao.
  • Soldador y estaño para unirlo todo.
  • Hilo y aguja para coser nuestros sensores al guante.

También va a ser nekesario un poco de código, pero eso os lo ofrecemos plural, como regalo, al final del proyecto.

Narito ang mga anak na lalaki ng mga materyal na baratos y fáciles de conseguir, ¡este proyecto está al alcance de todo el mundo! Lo hemos hecho así para que cualquiera se lo pueda construir y poder hacer el mundo un sitio más cómodo para todos.

Hakbang 1: Comprobar Que Los Acelerómetros Funcionan

Comprobar Que Los Acelerómetros Funcionan
Comprobar Que Los Acelerómetros Funcionan
Comprobar Que Los Acelerómetros Funcionan
Comprobar Que Los Acelerómetros Funcionan

Siempre es important comprobar que el material que estamos usando funciona, por eso de tener claro que las cosas funcionan antes de que haya que empezar de nuevo el proyecto. Lo primero que haremos será soldar los cables al sensor de la siguiente manera:

Larawan
Larawan

Podemos probar los sensores sin soldar primero, pero nos arriesgamos a muchos fallos debidos a malas conexiones. El otro extremo de los cables valdrá con conectarlos a una protoboard para poder conectarlos y desconectarlos con facilidad. Conectaremos los cables con el microcontrolador de la forma que VCC se conecte a 5V y GND con GND, SCL con el pin 21, SDA con el pin 22 (recomendable buscarse un mapa de pines de la placa que estamos usando y asegurarse de que dichos pines nombrados se corresponden a los que nos interesan) y AD0 a cualquiera de los pines digitales. En el caso de la placa SP32 Heltec hay que tener cuidado con no utilizar los pines 4, 15 y 16, que son los que utiliza para la pantalla. Ang paggamit ng mga ito, walang pagsusulit na podamos usarla en nuestro proyecto. Aunque os recomendamos comprobar con el modelo que usáis por si acaso no coincide, el esquema de pines de nuestra placa es el siguiente:

Larawan
Larawan

Gumagamit ng mga protokol I2C para sa comunicarnos con todos los sensores, sa pamamagitan ng paggamit ng mga librerías abiertas que hay en internet para magamit ang mga ito ng mga protocol at son realmente sencillas de usar. La primera la podemos encontrar en la siguiente página https:// gist. github.com/tfeldmann/5411375 Copiamos el código. Nos ayudará a identificar las direcciones en las que estamos leyendo. Estos dispositivos vienen por defecto con la dirección 168, pero si ponemos a nivel alto el pin AD0 de nuestro sensor podemos cambiar la dirección a la 169. Hay que comprobar que se activan las dos direcciones.

Descargamos el zip y en el IDE de Arduino vamos a Programa> Incluir Libraryería> Añadir librería Zip. Sa pamamagitan ng mga ito ay nagtitiwala sa librería para sa bawat MPU, ngunit hindi ito naaangkop sa programa ng ejemplo para sa mga sensors. Para acceder a él, podemos ir a Abrir> Ejemplos> MPU6050> MPU6050_raw.ino. Al abrir el monitor serial cambiamos los baudios a 38400 y al cargarse el programa deberíamos obtener la lectura de los seis parámetros que nos ofrece el sensor: tres de la aceleración relativa y otros tres de la aceleración de la gravedad. Estos últimos son los que usaremos para comprobar la posición de cada giróscopo, pero lo veremos en un paso posterior.

Hakbang 2: Leer De Todos Los Acelerómetros Al Mismo Tiempo

Leer De Todos Los Acelerómetros Al Mismo Tiempo
Leer De Todos Los Acelerómetros Al Mismo Tiempo
Leer De Todos Los Acelerómetros Al Mismo Tiempo
Leer De Todos Los Acelerómetros Al Mismo Tiempo
Leer De Todos Los Acelerómetros Al Mismo Tiempo
Leer De Todos Los Acelerómetros Al Mismo Tiempo

Una vez comprobado que cada sensor nos funciona por separado, hay que comprobar que nos funcionan todos al mismo tiempo. Para esto habrá que conectarlos con nuestra placa de inserción, cortocircuitando todos los pines de alimentación (VCC), masa (GND), datos (SDA) y reloj (SCL). Los pines AD0 los conectaremos a pines digitales diferentes para sa poder decidir cuál activamos en cada momento. Ito ay mahalaga sa mga anak na lalaki ng mga pines upang magamit ang lahat ng ito ay magagamit para sa comunicarse con la pantalla, como ya hemos dicho, yaong si utilizamos alguno de estos pines no nos funcionará. Debería quedar de una forma parecida al siguiente esquema (click para ampliar):

Larawan
Larawan

Ang unang mga kabel ng tela, ngunit ang mga kadahilanan na ito ay may kulay na kulay na cortocircuitados y llevados a su pin correspondiente, menos los de AD0, que se conecta directamente a la placa. El código para poder utilizarlo es una modificación del que hemos utilizado antes para leer los datos de cada uno de los sensores. Hemos calculado que tardamos 2ms en leer cada sensor, por lo que cada 4ms (para dar un margen de seguridad) cambiaremos de sensor que leemos poniendo a nivel alto el pin AD0 del sensor de lectura y el resto a nivel bajo, leyendo as de de dirección por defecto. De todas formas el código completeo lo facilitaremos en un próximo apartado y se podrán ver todos estos detalles. En este punto del proyecto debemos es konstrurar bien la posición de cada sensor en el guante, de la placa de inserción y del microcontrolador, porque el siguiente paso es soldarlo todo y coserlo al guante. Kailangan mong magsulat sa mga pag-igting ng van ng isang recibir los cables cuando la mano está cerrada, ya que tienden a romperse con tremenda facilidad si no cuidamos este detalle. Mas gusto ang sobre cable y quede algo feo que tener que llevar un soldador en el bolsillo cada vez que quieras utilizar el producto final. A la hora de coser los acelerómetros muy importante dejarlos bien fijos, lo que nos facilitará el camino de fijar rangos de valores en un futuro no muy lejano. Walang olvidarse del acelerómetro de referencia en el dorso de la mano, éste debe quedar bien fijo, aunque es el más difícil de coser. En nuestro guante quedó de la siguiente manera:

Larawan
Larawan
Larawan
Larawan

El pegamento lo utilizamos para que los cables no se rompieran, no tiene nada que ver con la fijación al guante. No se muy bien porque usamos hilo negro (justamente para que no se note), pero lo que hicimos fue aprovechar los agujeros libres que teníamos del propio acelerómetro para fijarlo, y luego darle un remate para fijar los cables para sa siguieran una guía recta por el dedo.

Hakbang 3: Sacar Resultados Por Pantalla

Sacar Resultados Por Pantalla
Sacar Resultados Por Pantalla
Sacar Resultados Por Pantalla
Sacar Resultados Por Pantalla

Walang queremos depender na pagpapatuloy del ordenador, y menos si tenemos una pantalla conectada a nuestro microprocesador. Para poder escribir sobre esta, hay multitud de librerías ya escritas para poder hacerlo. Nosotros hemos optado por la librería “U8g2”, que se puede descargar e installar desde el mismo IDE de Arduino:

Larawan
Larawan

En concreto, se utilizará el paquete, que se incluirá al principio del código. El uso de la librería es muy sencillo. Para mostrar por la pantalla del ESP32, utilizaremos la función u8x8.drawString (), cuyo parámetro de entrada será el valor a mostrar. Para sa iyo, maaari kang umusbong sa isang maliit na lugar, podemos usar la función sprintf, que nos permite variar la precisión con la que mostrar nuestras medidas. Un sencillo ejemplo sería:

sprintf (buf, "% 06d", palakol); u8x8.drawString (0, 0, buf);

Ang mga queremos na ito ay nasa isip ng lahat ng mga ito sa harap ng una, na kung saan ay isang facilitar ya el código con el que se puede hacer, que es una combinación de las librerías que hemos ido viendo con nuestros ajustes.

Al conseguir este paso, el proyecto quedaría prácticamente hecho, pues solamente queda encontrar los márgenes de posición que debemos poner para cada letra e ir adaptándolos para que las letras sean correctas con la posición de la mano.

Hakbang 4: Fijar Rangos De Valores

Fijar Rangos De Valores
Fijar Rangos De Valores

Dependiendo de cómo hayamos cosido los sensores al guante habrá unos valores u otros, por lo que no podemos ofrecer los datos que nos sirvieron a plural. De todas formas, la manera de conseguirlos no es nada komplicada. Magpatuloy sa paggamit ng mga payong que delimitan las distintas posiciones de los dedos y asignan un valor a cada dedo (que nos indará la posición de dicho dedo). El programa tiene estas fases:

  • Muestreo: en esta etapa obtenemos los valores de los acelerómetros. Para ello vamos mirando cíclicamente cada uno y guardamos su valor. Una vez obtenidos los datos de los acelerómetros utilizamos unos umbrales para simplificar la detección de cada letra posteriormente. Dentro de los acelerómetros tenemos 3 comportamientos diferentes, y por ello 3 tipos de umbrales distintos, estos son:

    • Acelerómetro de referencia: será el colocado en el reverso de la mano y nos nagpapahiwatig cómo está orientada la mano. Con los umbrales utilizados diferenciamos entre 3 posiciones: pataas, pababa y laki.
    • Pulgar: en función del resultado obtenido en el acelerómetro de referencia utilizaremos unos umbrales u otros. En todos los casos miraremos hacia donde está el pulgar orientado.
    • Resto de dedos: al igual que en el pulgar miraremos cómo están colocados los dedos respecto al acelerómetro de referencia. La diferencia está en que en este caso solo miramos si está estirado, curvado, doblado o muy doblado.
  • Detección de letra: una vez obtenidas las posiciones de los dedos comparamos uno a uno los dedos para ver si cumplen o no una posición de una mano. Para sa mga gumagamit ng una lista de prioridad, por lo que evitamos que se cumplan varias letras en caso de error asegurando así que el programa sigue funcionando de forma correcta. Para sa asegurarnos de que una letra es correcta y no ha sido un error hemos creado un algoritmo de seguridad (ya que probable que sin quererlo la persona su mano pase por una letra sin querer). Dicho algorithitmo tiene dos funciones:

    • Evitar detectar una letra de forma errónea: para sa iyo na isaalang-alang ang isang una na magtatama sa iyo ng isang debat na mantenerse Constante durante aproximadamente 1 segundo.
    • Ang detalyadong detalyadong impormasyon tungkol sa una: ang isang detalyadong paraan upang makita ang isang detalyado at walang serye ng varíe la posición de la mano, es decir, si se mantiene el gesto de la letra “a” durante 10 segundos solo se detectará una "A". Si queremos poner dos veces la misma letra debemos mover la mano levemente para que deje de detarse como “a” y volver a hacerla.
  • Reproducción: en esta fase reproduciremos la letra que hayamos detectado anteriormente, para sa mga gumagamit ng DF Player realizando los siguientes pasos:

    • Inicializar el puerto serie
    • Gumawa ng unjj de tipo player na gumagamit ng librería “DFRobotDFPlayerMini.h”
    • Inicializar el reproductor
    • Configurar el volumen seleccionar la pista correspondiente a la letra detectada
    • seleccionar la pista correspondiente a la letra detectada

    Una vez configurado por primera vez el reproductor solo debemos seleccionar qué pista reproducir

  • Subaybayan: upang masubaybayan ang lahat ng mga funciones, mas mahusay na mag-iwan ng serbisyo para makapag-umpisa ng feedback sa loob ng buong mundo upang makapagpalit para sa mga ito, na walang benta ng paggamit ng pera, podamos ver qué dedo está fallando y así corregirlo más fácilmente modificando levemente los valores de los umbrales. Sa panahon na ito ay nagtatrabaho sa pantasiya upang magamit ang iyong puna sa loob ng feedback sa loob, sinabi nito kung paano mo ito mailarawan sa interpretasyon sa bawat guante.

Hakbang 5: Audio

Audio
Audio
Audio
Audio

¡Snolo nos queda incluir la etapa de audio a nuestro proyecto y ya tendremos nuestro guante traductor de signos! Utilizaremos el DFPlayer mini MP3, you have además de barato es enhíblemente sencillo de utilizar. Necesitaremos únicamente los pines Tx y Rx de nuestro microcontrolador. Mediante una conexión como enseña la figura conectamos la placa, el lector de tarjetas y nuestro altavoz:

Larawan
Larawan

Sin olvidar que el pin Tx del DFPlayer necesita una resistencia de 1Kohm para funcionar correctionamente. Pero no todo podía ser felicidad en éste mundo; el Tx y Rx por defecto del microprocesador se utiliza para sa entrada de datos del microUSB con el que lo estamos programando, por lo que si queremos utilizarlo habría que conectarlo a una batería externa y comprobar que funciona de ésta forma. Nos pareció una manera poco práctica de funcionamiento, por lo que utilizamos la siguiente librería:

github.com/DFRobot/DFRobotDFPlayerMini

Pinahihintulutan ng utilizar cualquier pin digital como transmisor y receptor. En nuestro caso elegimos el 25 y el 26. Sa loob ng isang taon na ang nakaraan:

github.com/DFRobot/DFRobotDFPlayerMini

Éste será el código final que usaremos y todas las funciones están ya implementadas.

Hakbang 6: Último Paso

Último Paso
Último Paso
Último Paso
Último Paso

Si hemos llegado a este paso quiere decir que sólo falta hacer este proyecto portátil: conectando nuestro microcontrolador con una batería ya podemos desprendernos de nuestro ordenador. Un consejo, si añadimos un interruptor en el cable positivo de la alimentación podemos encenderlo y apagarlo a voluntad. También es una buena idea coser un pequeño bolsillo donde poner toda la electrónica y que no quede colgante, de la siguiente forma:

Larawan
Larawan

De esta forma nos aseguramos que el altavoz quede orientado hacia la palma de la mano. Tulad ng isang proyekto tungkol sa iyo:

drive.google.com/file/d/1vr76rb4KjsyfqO1U7v-mywLYcgoDTNO8/view?usp=sharing

Una sa aking mga tagapag-alaga ng tagapagtaguyod ng isang coraza que proteja la electrónica del agua y de los golpes. Para sa lenguaje de signos más completeo que permita un repertorio de palabras más completeo serían necesarios dos guantes que se comunicaran entre sí. Por lo que otra de las mejoras sería el implementar el sistema de comunicaciones entre los guantes. Sa gayon, maaari mong gamitin ang tiwala sa uniberso ng internet, kung saan ay mayroon kang isang serbisyong pambihira. También puede utilizarse un pequeño módulo BLE (Bluetooth Mababang Enerhiya) para sa iyong maling kasiyahan, realmente pu puac hacer de muchas formas, ¡sé creativo!

Y finalmente nos gustaría despedirnos y agradeceros que se haya seguido hasta el final este proyecto. Esperamos que le sirva a mucha gente y que nos mandéis de alguna forma el resultado de vuestro proyecto. Sa gayon, maaari kang mag-apply sa pagpapatupad ng mga propuestas.

¡Manya suerte y fuerza, compañeros!

Inirerekumendang: