Turinys:
- 1 veiksmas: „Comprobar Que Los Acelerómetros Funcionan“
- 2 žingsnis: Leer De Todos Los Acelerómetros Al Mismo Tiempo
- 3 žingsnis: „Sacar“rezultatai „Pantalla“
- 4 žingsnis: Fijar Rangos De Valores
- 5 žingsnis: garsas
- 6 žingsnis: Último Paso
Video: Guante Traductor De Lengua De Signos: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
V 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 komplikada la convivencia sin un traductor. ¡El traductor que proponemos nosotros está alcance de tu mano! Con pocos materiales algo de código puedes buildir 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 tęsiasi sekančiu 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:
- Nelabai. 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 acelerometrai. Elegimos los MPU6050 por ser los más fáciles de encontrar en el mercado, pero realmente te vale cualquier otro que encuentres.
- Mikroprocesorius. „El SP32 Heltec“gali būti aptarnaujamas kelnės. Además, se puede programme en el IDE de Arduino, el más popular en estos tiempos que corren.
- Un altavoz de 8 ohmios de resistencia interna para aprovechar al máximo la potencia.
- Un modulo para tarjetas SD. Garso ir vaizdo įrašų garso įrašai. Naudodami „DFPlayer mini MP3“, galite lengvai pasinaudoti šia programa.
- Baterija. Įkraunama 9000 mAh baterija, kuri yra pakankama viso projekto prožektorius, o ne daug, o ne per daug. Si añadimos un switch podemos encender y apagar el dispositivo cuando queramos.
-
Kabelis. Aunque parezca una tontería, siempre es el elemento que se nos olvida al empezar un proyecto y es de lo más element. Rekomenduojamas kabelis fino y hay que tener en cuenta que cada acelerómetro usa 5 kabeliai. Nr 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 notaria 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á al alcance de todo el mundo!
1 veiksmas: „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 cable al sensor de la siguiente manera:
Podemos probar los sensores sin soldar primero, pero nos arriesgamos a muchos fallos debidos a malas conexiones. El otro extrememo de los cable valdra con conectarlos a una protoboard para poder conectarlos y desconectarlos con palengvinimo. „Conectaremos los“kabeliai su mikrokontrole de la forma que VCC se conecte a 5V y GND con GND, SCL con el pin 21, SDA con el pin 22 (es recomendable buscarse un mapa de pines de la placa que estamos usando y asegurarse de que dichos pines nombrados seresponden 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 sutapo, el esquema de pines de nuestra placa es el siguiente:
Utilizaremos el protocolo I2C comunicarnos con todos los sensores, por lo que podemos utilizar las librerías abiertas que hay en internet para utilizar en este protocolo y son realmen sencillas de usar. La primera la podemos encontrar en la siguiente págistina // github.com/tfeldmann/5411375 „Copiamos el código“. Nos ayudará a identificar las direcciones en las que estamos leyendo. Estos dispositivos vienen por defect con la directcción 168, pero si ponemos a nivel alto el pin AD0 de nuestro sensor podemos cambiar la directcción a la 169. Hay que comprobar que se activan las dos direcciones.
Atsisiųskite el zip ir el IDE programą „Arduino“programoje> Įtraukite libreriją> Añadir librería Zip. Con esto ya tendremos la librería para manejar los MPU, bet además se nos ha incluido un program de ejemplo para leer los sensores. Prisijunkite prie, podemos ir a Abrir> Ejemplos> MPU6050> MPU6050_raw.ino. Al abrir el monitor serijos 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.
2 žingsnis: 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), data SDA) ir 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 (click para ampliar):
Parece una maraña de cable, pero podemos ver que todos los cable del mismo color están cortocircuitados y llevados a su pinrespondiente, menos los de AD0, que se conecta directamente a la placa. El código para poder utilizarlo es una modifikacija 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 la nukreipimas į defektą. De todas formos el. En este punto del proyecto debemos estructurar bien la posició 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. Es muy importante pensar en las feszülts que van a recibir los cable cuando la mano está cerrada, ya que tienden a romperse con tremenda palengvinti si no cuidamos este detalle. 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 helpitará 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, ir debe quedar bien fijo, aunque es el más difí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 kabeliai para que siguieran una guía recta por el dedo.
3 žingsnis: „Sacar“rezultatai „Pantalla“
No queremos depender continamente del ordenador, y menos si tenemos una pantalla conectada a nuestro mikroprocesorius. Para poder escribir sobre esta, hay multitud de librerías ya escritas para poder hacerlo. „Nosotros hemos optado“iš nemokamos „U8g2“, galite atsisiųsti ir įdiegti „Arduino IDE“diegimo programą:
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 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", kirvis); u8x8.drawString (0, 0, buf);
Como queremos sacar los datos que hemos obtenido en el paso anterior, os vamos a helpitar 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 secguir este paso, el proyecto quedaría prácticamente hecho, pues solamente queda encontrar los jaugenes 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.
4 žingsnis: 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 formos, la manera de conseguirlos no es nada komplikada. 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 distintos, estos son:
- Acelerómetro de referencia: será el colocado en el reverso de la mano y nos indicará cómo está orientada la mano. Naudojant 3 skirtingus skirtumus: aukštyn, žemyn ir dydžiu.
- 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.
- Atkurti 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 ello utilizamos una list of prioridad, por 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 tikėtina que sin quererlo la persona su mano pase por una letra sin querer). Dicho algoritmas tiene dos funciones:
- Išorinis detektorius, turintis eromos formą: para que se thinkere que una letra es correcta irta debe mantenerse constante durante aproximadamente 1 segmentas.
- Evitar Detar 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 de detectarse como “a” y volver a hacerla.
-
Reprodukcija: en esta fase reproduciremos la letra que hayamos detectado anteriormente, para ello utilizamos el DF Player realizationo los siguientes pasos:
- Inicializar el puerto serie
- Sukurti ir sukurti tokio tipo grotuvą naudojant nemokamą „DFRobotDFPlayerMini.h“
- Inicializar el reprodukcija
- Konfigūruokite el volumen pasirinktą la pista susirašinėjimą a la letra detectada
- pasirinktas la pista susirašinėjimas a la letra detectada
Una vez configurado por primera vez el reproductor solo debemos seleccionar qué pista reprcir
- Monitorius: 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í correctgirlo más fácilmente modificando levemente los valores 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 correctamente interpretado por el guante.
5 žingsnis: garsas
„Sólo nos queda“apima garso įrašų kūrimą ir pažangiausią garsą, taip pat ir garsiakalbio signalų kūrėjus! Naudokite „DFPlayer mini MP3“, naudokite baratą ir padidinkite naudojimą. 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:
Sin olvidar que el pin Tx del DFPlayer reikia 1Kohm para funcionar correctamente. Pero no todo podía ser felicidad en andte mundo; el Tx y Rx iš defektų mikroprocesoriaus, naudojančio įvesties duomenis, „microUSB“, naudojant el. programinę įrangą, po to, kai tai atliekama naudojant „habría que conectarlo“ir „una bateria“išorinį įrenginį bei kompozicinę funkciją. Nos pareció una manera poco práctica de funcionamiento, por lo que utilizamos la siguiente librería:
github.com/DFRobot/DFRobotDFPlayerMini
Naudokite įprastą skaitmeninio vaizdo transmisoriaus receptorių. En nuestro caso elegimos el 25 y el 26. Por lo tanto el código queda de la siguiente forma:
github.com/DFRobot/DFRobotDFPlayerMini
Šis seria el código final que usaremos y todas las funciones están ya implementadas.
6 žingsnis: Último Paso
Si hemos llegado a este paso quiere decir que sólo falta hacer este proyecto portátil: conectando nuestro microcontrolador con una baterija ya podemos desprendernos de nuestro ordenador. Ir dėl to, 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 Electronica y que no quede colgante, de la siguiente forma:
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 Electronica del agua y de los golpes. Para un lenguaje de signos más complete que permita un repertorio de palabras other complete serialan necesarios dos guantes que se comunicaran entre sí. Por lo que otra de las mejoras seria el implementar el system de comunicaciones entre los guantes. La placa que hemos utilizado tiene un modeulo de internet includedrado, lo que puede llegar a ser útil para esta tarea. Tam, kad galėtumėte naudoti BLE („Bluetooth Low Energy“), naudokite bet kokias funkcijas, tikroviškai matykite savo formą, sukurkite kūrybą!
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 implementado las mejoras propuestas.
Mucha suerte y fuerza, palyginimai!
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
„Hacer Un Guante Con Sensores Flex“ir „Android“: 9 žingsniai
„Hacer Un Guante Con Sensores Flex“ir „Conexión“„Android“: el. Jei norite pamatyti šią mokymo programą anglų kalba, spustelėkite čia: ht