Оглавление:

Guante Traductor De Lengua De Signos: 6 шагов
Guante Traductor De Lengua De Signos: 6 шагов

Видео: Guante Traductor De Lengua De Signos: 6 шагов

Видео: Guante Traductor De Lengua De Signos: 6 шагов
Видео: Traductor de lenguaje de señas robotico 👍🏻👊🏻✌🏻👌🏻✊🏻🤛🏻 2024, Июль
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 sordomuda no es sencilla, no todo el mundo conoce la lengua de signos y escompada la convivencia sin un traductor. ¡El traductor que proponemos nosotros está 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 te animamos a que lo продолжает para conguir 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áctiles 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 не имеет сервидо пор тенера включенного. Адема, сама программа в IDE де Ардуино, самая популярная в этой среде.
  • Un altavoz de 8 ohmios de resistencia interna para aprovechar al máximo la Potencia.
  • Un módulo para tarjetas SD. Obtendrá el audio de cada símbolo que guardemos. Он использует DFPlayer mini MP3 для удобного использования.
  • Батерия. Una batería de litio de 9000mAh será suficiente 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.
  • Кабель. Aunque parezca una tontería, siempre es el elemento que se nos olvida al empezar un proyecto y es de lo más element. Рекомендуем использовать кабель для подключения к кабелю, подключенному к сети, с помощью 5 кабелей. Нет os 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. 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 conguir, ¡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.

Шаг 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 clao que las cosas funcionan antes de que haya que empezar de nuevo el proyecto. Lo primero que haremos será soldar los кабеля al sensor de la siguiente manera:

Изображение
Изображение

Podemos probar los sensores sin soldar primero, pero nos arriesgamos a muchos fallos debidos a malas conexiones. Соединение кабелей с подключением к кабелю и подключением к плате с подключением и отключением кабелей с подключением микроконтроллера VCC с соединением 5V и GND с GND, SCL с контактом 21, SDA с контактом 22 (рекомендуется buscarse un mapa de pines de la placa que estamos usando y asegurarse de que dichos pines nombrados se correden 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. 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 no translate, el esquema de pines de nuestra placa es el siguiente:

Изображение
Изображение

Использовать протокол I2C для общения с сенсорами, использовать все функции, которые используются в Интернете, для использования в соответствии с этим протоколом. github.com/tfeldmann/5411375 Copiamos el código. Nos ayudará aidentificar 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.

Загрузите zip-архив в IDE Arduino, используя программу> Incluir Librería> Añadir librería Zip. Con esto yatendremos la librería para manejar los MPU, pero además se nos ha Incluido un programa de ejemplo para leer los sensores. Чтобы получить доступ, выполните следующие действия: Abrir> Ejemplos> MPU6050> MPU6050_raw.ino. Абрир-эль-монитор серийных камбиамос-лос-баудиос и 38400-й год у 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.

Шаг 2: 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 (GND), SDA) y reloj (SCL). Los pines AD0 los conectaremos a pines digitales diferentes para 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 (нажмите для увеличения):

Изображение
Изображение

Parece una maraña de cable, pero podemos ver que todos los кабели del mismo color están cortocircuitados y llevados a su pin correiente, menos los de AD0, que se conecta directamente a la placa. El código para poder utilizarlo es una modificación del 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 la dirección por defecto. De todas formas el código completeto lo fastenaremos en un próximo apartado y se podrán ver todos estos detalles. En este punto del proyecto debemos estructurar bien la posición de cada sensor en el guante, de la placa de insertción y del microcontrolador, porque el siguiente paso es soldarlo todo y coserlo al guante. Es muy important pensar en las sizes que van a recibir los кабели cuando la mano está cerrada, ya que tienden a romperse con tremenda facilidad si no cuidamos este detalle. Предпочтительно, чтобы такой кабель и последовательность действий были заключены в окончательном варианте. A la hora de coser los acelerómetros muy importante dejarlos bien fijos, lo que nos coeficará el camino de fijar rangos de valores en un futuro no muy lejano. Нет olvidarse del acelerómetro de referencia en el dorso de la mano, éste debe quedar bien fijo, aunque es el más diffícil de coser. En nuestro guante quedó de la siguiente manera:

Изображение
Изображение
Изображение
Изображение

El pegamento lo utilizamos para que los cable no se 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 para que siguieran una cable Пор эль Дедо.

Шаг 3: Sacar Resultados Por Pantalla

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

Нет queremos depender continamente 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», который должен быть удален и установлен из неправильной IDE де Arduino:

Изображение
Изображение

En concreto, se utilizará el paquete, que secluirá al Principio del código. El uso de la librería es muy sencillo. Для большинства функций ESP32, использующих функцию u8x8.drawString (), используется параметр Entrada será el valor a mostrar. Para ajustar el número de dígitos a mostrar, podemos usar la función sprintf, que nos permite varar la Precisión con la que mostrar nuestras medidas. Un sencillo ejemplo sería:

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

Como queremos sacar los datos que hemos obtenido en el paso anterior, os vamos a assistar 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 consguir 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 Adaptiveandolos para que las letras sean correas con la posición de la mano.

Шаг 4: Фиджар Рангос де Валорес

Фиджар Рангос де Валорес
Фиджар Рангос де Валорес

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 consguirlos no es nada complexada. 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 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 simpleificar la Detección de cada letra posteriormente. Dentro de los acelerómetros tenemos 3 comportamientos diferentes, y por ello 3 tipos de umbrales uniquetos, 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 utilizados diferenciamos entre 3 posiciones: вверх, вниз по размеру.
    • 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 dedospecto al acelerómetro de referencia. La differencia 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 comparemos uno a uno los dedos para ver si cumplen o no una posición de una mano. Для того, чтобы использовать список приоритетных задач, необходимо использовать различные варианты написания кода и исправлять ошибки в качестве правильной программы. Para asegurarnos de que una letra es fixa y no ha sido un error hemos creado un algoritmo de seguridad (ya que es вероятно 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 considere que una letra es correa ésta debe mantenerse constante durante aproximadamente 1 segundo.
    • 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 «А». Si queremos poner dos veces la misma letra debemos mover la mano levemente para que deje de detectarse como «a» y volver a hacerla.
  • Воспроизведение: en esta fase reproduciremos la letra que hayamos detectado anteriormente, para ello utilizamos el DF Player realizando los siguientes pasos:

    • Inicializar el puerto serie
    • Создавайте объект типа проигрывателя с использованием библиотеки «DFRobotDFPlayerMini.h»
    • Инициализар эль репродуктор
    • Configurar el volumen seleccionar la pista correiente a la letra detectada
    • seleccionar la pista correiente a la letra detectada

    Una vez configurado por primera vez el воспроизводящий соло debemos seleccionar qué pista reproducir

  • Монитор: el monitor tiene dos funciones, 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ácilvemente los dener lera de los umbrales. Durante la fase de venta del producto la pantalla se utilizará para que el usuario tenga un Feedback inmediato, sabiendo que lo que ha dicho ha sido correctiveamente Translateado por el guante.

Шаг 5: Аудио

Аудио
Аудио
Аудио
Аудио

¡Sólo nos queda include la etapa de audio a nuestro proyecto y ya tentend nuestro guante traductor de signos! Utilizaremos el DFPlayer mini MP3, ya que además de barato es increí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:

Изображение
Изображение

После того, как вы установили Tx del DFPlayer, который не должен сопротивляться 1Kohm для функционального исправления. Tx y Rx для дефекта микропроцессора, который используется для ввода данных microUSB с помощью этой программы, которая используется, когда вы используете устройство, которое соединяется с внешней батареей и компробаром, который функционирует в форме. Nos pareció una manera poco práctica de funcionamiento, por lo que utilizamos la siguiente librería:

github.com/DFRobot/DFRobotDFPlayerMini

Que nos permite utilizar cualquier pin digital como transmisor y рецептор. 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 implementationadas.

Шаг 6: Эльтимо Пасо

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 consjo, 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 siguien:

Изображение
Изображение

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 proponer es una coraza que proteja la electrónica del agua y de los golpes. Para un lenguaje de signos más completeto que allowa un repertorio de palabras más completeto serían necesarios dos guantes que se comunicaran entre sí. Por lo que otra de las mejoras sería el implementationar el sistema de comunicaciones entre los guantes. La placa que hemos utilizado tiene un módulo de internet incorporated, lo que puede llegar a ser útil para esta tarea. También puede utilizarse un pequeño módulo BLE (Bluetooth Low Energy) для неправильного функционирования, реально используется в различных формах, ¡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 ha implementationado las mejoras propuestas.

¡Mucha suerte y fuerza, compañeros!

Рекомендуемые: