Sadržaj:

Guante Traductor De Lengua De Signos: 6 koraka
Guante Traductor De Lengua De Signos: 6 koraka

Video: Guante Traductor De Lengua De Signos: 6 koraka

Video: Guante Traductor De Lengua De Signos: 6 koraka
Video: 25 открытий в Африке, которые никто не может объяснить 2024, Juli
Anonim
Guante Traductor De Lengua De Signos
Guante Traductor De Lengua De Signos

¿Y si te dijera que ahora es posible hablar sin abrir la boca? La vida de una persona persona sordomuda no es sencilla, no todo el mundo conoce la lengua de signos y es complicada la convivencia sin un traductor. ¡El traductor que proponemos nosotros está al alance 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, ali animaos a que lo nastavlja paralelno sa tragucir 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áctiles para que el día a día sea algo más ameno.
  • 6 acelerómetros. Elegimos los MPU6050 ili ser los más fáciles de encontrar en el mercado, pero realmente te vale cualquier otro que encuentres.
  • Un microprocesador. El SP32 Heltec ima servido za tener pantalla ugrađen. Además, koji je najnoviji program IDE de Arduino, popularni i estos tiempos que corren.
  • Un altavoz de 8 ohmios de resistencia interna para aprovechar al máximo la potencia.
  • Un módulo para tarjetas SD. Dobijte audio zapis sa cada símbolo que guardemos. Upotreba DFPlayer mini MP3 fajla je jednostavna.
  • Batería. Una baterija kapaciteta 9000 mAh zadovoljava parametre nuestro proyecto, nema ocupa mucho i dozvole bez vidljive large proyecto. Si añadimos un switch podemos encender y apagar el dispositivo cuando queramos.
  • Cable. Aunque parezca una tontería, siempre es el elemento que se nos olvida al empezar un proyecto y es de lo más elemental. Preporučujemo kablove sa kablovima i kablovima za hlađenje sa 5 kabela. No os preocupéis, es realmente barato.

  • Una placa de inserción. Nos sirve con 4 columnnas cortocircuitadas por 8 pines cada una, lo que es bastante pequeña para no notarse en el guante. Es opcional, pero nos hace la vida realmente más fácil.
  • Soldador y estaño para unirlo todo.
  • Hilo y aguja para coser nuestros sensores al guante.

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

Como veis son todo materiales baratos y fáciles de conseguir, ¡este proyecto está 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.

Korak 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 importante 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 kablovi al senzor de la siguiente manera:

Image
Image

Podemos probar los sensores sin soldar primero, pero nos arriesgamos a muchos fallos debidos a malas conexiones. Ekstremni ekstremni de los kablovi su povezani sa konektorima i protoborom za poder konektore i deskonektare sa facilidadom. Konektare losi kablovi sa mikrokontrolatorom koji je u obliku VCC -a spojen na 5V i GND sa GND -om, SCL -om sa priključkom 21, SDA sa priključkom 22 (es recomendable buscarse un mapa de pines de la placa que estamos usando y asegurarse de que dichos pines nombrados se koresponden a los que nos interesan) y AD0 a cualquiera de los pines digitales. En el caso de la placa SP32 Heltec seno que tener cuidado bez upotrebe los pines 4, 15 y 16, que son los que utiliza para la pantalla. Si utilizamos uno de estos, quizás no podamos usarla en nuestro proyecto. Aunque os recomendamos comprobar con el modelo que usáis por si acaso se ne podudara, el esquema de pines de nuestra placa es el siguiente:

Image
Image

Upotrijebite protokol I2C za zajednički jezik s todos los sensores, por lo que podemos utilizar las librerías abiertas que hay i internet za korištenje kao este protokol i sin realmente sencillas de usar. La primera la podemos encontrar en la siguiente página https:. github.com/tfeldmann/5411375 Copiamos el código. Nos ayudará a identificar las direcciones en las que estamos leyendo. Ovo je dispozitivos koji se prikazuje kao defekt sa la dirección 168, ali si ponemos nivel alto el pin AD0 de nuestro senzor podešava cambiar la dirección a la 169. Hay que comprobar que se activan las dos direcciones.

Preuzmite zip datoteku i IDE de Arduino program za program> Uključi Libreriju> Añadir librería Zip. Con esto ya tendremos la librería para manejar los MPU, ali además se ne uključuje u program za ejemplo para leer los sensores. Za pristup, podešavanje i Abrir> Ejemplos> MPU6050> MPU6050_raw.ino. Al abrir el monitor serijski cambiamos los baudios a 38400 y al cargarse el program 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.

Korak 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 no funcionan od 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), dato SDA) y reloj (SCL). Los Pines AD0 los conectaremos a Pines digitales diferentes per poder decidir cuál activamos en cada momento. Es importante mirar cuáles son los pines que utiliza la placa que estamos utilizando para comunicarse con la pantalla, como ya hemos dicho, ya que si utilizamos alguno de estos pines no nos funcionará. Debería quedar de una forma parecida al siguiente esquema (kliknite za pojačanje):

Image
Image

Parece una maraña de cable, pero podemos ver que todos los cable del mismo color están cortocircuitados y llevados a su pin korespondiente, menos los de AD0, que se conecta directamente a la placa. El código para poder utilizarlo es una modifikación del que antes para leer los datos de cada uno de los sensores. Hemos izračunava tardamos 2 ms en leer cada senzor, por lo que cada 4ms (para dar un margen de seguridad) cambiaremos de senzor que leemos poniendo a nivel alto el pin AD0 senzor de lecture y el resta a nivel bajo, leyendo así de la dirección por defecto. De todas formas el código completo lo facilitaremos en un próximo apartado y se podrán ver todos estos detales. En este punto del proyecto debemos estructurar bien la posición de cada sensor in el guante, de la placa de inserción y del microcontrolador, porque el siguiente paso es soldarlo todo y coserlo al guante. Ovaj važni pensar i vlačne napetosti mogu se povratiti putem kablova koji su la mano está cerrada, a ako ih povežete s kompromisom, trende facilidada nisu potrebne za detaljne informacije. Es preferible que 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. No 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:

Image
Image
Image
Image

El pegamento lo utilizamos para que los cable is not rompieran, no tiene nada que ver con la fijación al guante. No se ve 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 cable para que siguieran una guía por el dedo.

Korak 3: Sacar rezultati Por Pantalla

Sacar Rezultati Por Pantalla
Sacar Rezultati Por Pantalla
Sacar Rezultati Por Pantalla
Sacar Rezultati Por Pantalla

No queremos depender continuamente del ordenador, y menos si tenemos una pantalla conectada and nuestro microprocesador. Para poder escribir sobre esta, hay multitud de librerías ya escritas para poder hacerlo. Nosotros hemos optado la labrería "U8g2", que se puede descargar and instalar desde el mismo IDE de Arduino:

Image
Image

En concreto, se utilizará el paquete, que se incluirá al principio del código. El uso de la librería es muy sencillo. Za većinu portala sa ESP32, upotreba funkcija u8x8.drawString (), koja vam omogućava da unesete serralu el valor u većinu. Para ajustar el número de dígitos a mostrar, 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", sjekira); u8x8.drawString (0, 0, buf);

Como queremos sacar los datas que hemos obtenido en el paso anterior, os vamos a facilitar y a 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 and adapándolos para que las letras sean correctas con la posición de la mano.

Korak 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 nosotros. De todas formas, la manera de conseguirlos no es nada complicada. Consiste en utilizar unos umbrales que delimitan las distintas posiciones de los dedos y asignan un valor a cada dedo (que nos indicará la posición de dicho dedo). El program 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 pojednostavljeno za otkrivanje de cada letra posteriormente. Dentro de los acelerómetros tenemos 3 comportamientos diferentes, y el ello 3 tipos de umbrales razlika, estos son:

    • Acelerómetro de referencia: será el colocado en el reverso de la mano y nos indicará cómo está orientada la mano. Con los umbrales koristi diferenciamos entre 3 pozicije: gore, dolje y veličinu.
    • Pulgar: en funkción del resultado obtenido en el acelerómetro de referencia usemosremos unnos umbrales in 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 ili 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 pozición de una mano. Para ello utilizamos una unada lista prioriteta, lo lo que evitamos que se cumplan varias letras en caso de error asegurando así que el program sigue funcionando de forma correcta. Para asegurarnos de que una letra es correcta y no ha sido un error hemos creado un algoritmo de seguridad (ya que es verovatno que sin quererlo la persona su mano pase por una letra sin querer). Dicho algoritmo tiene dos funciones:

    • Evitar detectar una letra de forma errónea: para que se uzeti u obzir que una letra es correcta ésta debe mantenerse constante durante otprilike 1 sekundu.
    • Evitar detectar de forma periódica una letra: una vez detectada la letra no se volverá a detectar a no ser que 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 detectarse como “a” y volver a hacerla.
  • Reprodukcija: en esta fase reproduciremos la letra que hayamos detectado anteriormente, para ello usemos DF DF realizuje los siguientes pasos:

    • Inicializar el puerto serie
    • Napravite objekat za tipo player da koristi slobodnu datoteku “DFRobotDFPlayerMini.h”
    • Inicializar el reproductor
    • Konfigurator el volumen seleccionar la pista korespondiente a la letra detectada
    • seleccionar la pista korespondiente a la letra detectada

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

  • Monitor: el monitor montira funkcije, durante la fase de desarrollo nos servirá para tener un feedback inmediato sobre la posición de los dedos para que, si no sale alguna letra, podamos ver qué dedo está fallando y así corregirlo más fácilmente modificando levemente los vas de los umbrales. Durante la fase de venta del producto la pantalla se koristi kako bi se iskoristile tenga i povratne informacije u medijima, sabiendo que lo que ha dicho ha sido korectamente interpretado por el guante.

Korak 5: Zvuk

Audio
Audio
Audio
Audio

¡Sólo nos queda uključuje la etapa de audio i nuestro proyecto y y tendremos nuestro guante traductor de signos! Iskoristite DFPlayer mini MP3, ako ste dodali barato sa dodatnim sencillom za korištenje. 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:

Image
Image

Sinhronizovan je pin Tx del DFPlayer -a koji treba da bude otporan na 1Kohm za funkcionalne ispravke. Pero no todo podía ser felicidad en éste mundo; el Tx y Rx kao defekt u mikroprocesoru se koristi za unos podataka iz microUSB -a sa el el que lo estamos programando, por lo que si queremos iskorištava habría que conectarlo i una batería vanjski i komprobar que funkcionalan ésta forma. Nos pareció una manera poco práctica de funcionamiento, por lo que utilizamos la siguiente librería:

github.com/DFRobot/DFRobotDFPlayerMini

Que nos permite koristi kualquier pin digitalni komo odašiljač i receptor. En nuestro caso elegimos el 25 y el 26. Por lo tanto el código queda de la siguiente forma:

github.com/DFRobot/DFRobotDFPlayerMini

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

Korak 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:

Image
Image

De esta forma nos aseguramos que el altavoz quede orientado hacia la palma de la mano. Así es como queda el proyecto que hemos propuesto:

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

Una mejora que nos gustaría predlagač es una coraza que proteja la electrónica del agua y de los golpes. Para un lenguaje de signos más completo que permita un repertorio de palabras más completo serían necesarios dos guantes que se comunicaran entre sí. Por lo que otra de las mejoras sería el implementator el comunicaciones entre los guantes. La placa que hemos utiledado tiene un módulo de internet include, lo que puede llegar a ser útil para esta tarea. También puede iskorištava i pequeño módulo BLE (Bluetooth Low Energy) za lažnu funkciju, u stvarnosti se puede 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. Es más, nos encantará ver si alguno ima implementaciju las mejoras propuestas.

¡Mucha suerte y fuerza, compañeros!

Preporučuje se: