A linguagem de sinais é um sistema de comunicação por meio de gestos visuais. No entanto, nem todos entendem a linguagem de sinais. Portanto, neste projeto construiremos um dispositivo que converte gestos manuais em fala.
O que é necessário: sensores flexíveis, um Mini Player DF e um microcontrolador que possui entrada analógica e suporta comunicação serial por meio de um receptor/transmissor assíncrono universal (UART) — usamos ESP32.
O ESP32 oferece vários canais de entrada analógica, que acomodam sensores flexíveis suficientes para interagir com as mãos e os dedos de uma pessoa (para retransmitir os gestos da linguagem de sinais). Porém, para este projeto, usaremos um único sensor flexível, que é suficiente para gesticular em busca de comida, água ou remédios.
É possível adicionar mais sensores flexíveis ao seu dispositivo, incluindo o suficiente para converter totalmente a linguagem de sinais americana em fala audível.
Componentes necessários
- ESP32 x1
- DF Mini Player x1
- Cartão MicroSD x1
- Alto-falante x1
- Sensor flexível x1
- Resistência de 330Ω x1
- Conectando fios
- Tábua de Ensaio ou Perfboard
Conexões de circuito
O DOIT ESP32 DevKit Versão 1 é usado para este projeto. O diagrama de pinos desta placa ESP está abaixo.
O DF Mini Player é usado para reproduzir as frases audíveis convertidas da linguagem de sinais. É um pequeno sistema de reprodução de música que reproduz arquivos de áudio de um cartão microSD. Os formatos de arquivo suportados incluem MP3, WAV e WMA. O módulo possui um slot para cartão microSD e amplificador integrado e um conector de áudio de 3,5 mm para interface de alto-falantes ou fones de ouvido. Possui interfaces UART e USB para se comunicar com um microcontrolador.
Aqui está o diagrama de pinos do DF Mini Player:
O módulo possui as seguintes configurações de pinos:
As conexões:
- Para conectar o DF Mini Player ao ESP32, conecte os pinos VCC e GND do Mini Player aos pinos 3V3 e terra do ESP32, respectivamente.
- Em seguida, conecte os pinos RX e TX do DF Mini Player aos pinos GPIO26 e GPIO27 do ESP32.
- Em seguida, conecte um alto-falante (<3W) aos pinos SPK1 e SPK2 do DF Mini Player.
Para reproduzir o DF Mini Player, os arquivos de áudio devem ser carregados em um cartão MicroSD. Reproduziremos três instruções de áudio do dispositivo. Essas instruções podem ser convertidas de texto em fala e baixadas como arquivos MP3 em ttsmp3.com.
As instruções de áudio estão anexadas como arquivos MP3 abaixo.
- O arquivo MP3 para a instrução “Por favor, me dê água” como 1.MP3:
- O arquivo MP3 para a instrução “Por favor, me dê comida” como 2.MP3:
- O arquivo MP3 para a instrução “Por favor, me dê um remédio” como 3.MP3:
Carregue esses arquivos em um cartão MicroSD e insira o cartão no slot do DF Mini Player.
Um sensor flexível é usado para detectar gestos manuais (linguagem de sinais). Este sensor está conectado a um circuito divisor de tensão com entrada analógica no pino GPIO36.
O diagrama de circuito do dispositivo:
O sensor flexível pode ser preso a uma luva ou preso aos dedos de uma pessoa com uma fita adesiva, de modo que se dobre com o dedo conforme ela usa gestos para se comunicar com a linguagem de sinais.
Bibliotecas necessárias
Para construir este projeto, você precisará instalar duas bibliotecas no Arduino IDE – espSoftwareSerial e DFRobotDFMiniPlayer. O espSoftwareSerial é necessário para usar o serial do software no ESP32. O DFRobotDFMiniPlayer é usado para trabalhar com o DF Mini Player.
Esboço do Arduino
Como funciona
O sensor flexível detecta os gestos das mãos enquanto eles se comunicam por meio de linguagem de sinais. Quando o sensor é dobrado, sua resistência muda, então a saída de tensão do circuito divisor de tensão também muda.
A saída analógica do sensor flexível é detectada pelo ESP32 e usada para determinar a instrução/comando. O DF Mini Player reproduz os arquivos MP3 do cartão MicroSD com base nas instruções comunicadas via ESP32 pela UART.
O código
O esboço começa importando SoftwareSerial.h e DFRobotDFPlayerMini.h. As variáveis são declaradas para as conexões dos pinos RX e TX do DF Mini Player, e um objeto da serial do software é instanciado.
A seguir, é instanciado um objeto do DF Mini Player e declaradas as variáveis da conexão da entrada analógica ao sensor flex. Uma variável para armazenar o valor analógico é definida e inicializada em zero.
Na função setup , a taxa de transmissão para comunicação serial e serial de software é definida como 9600 bps. O DF Mini Player é inicializado e seu volume está definido para 20.
Na função loop , o ESP32 lê a entrada analógica do sensor flex. De acordo com o valor da entrada analógica, o arquivo MP3 do gesto detectado é reproduzido chamando o método player.play .
Resultados