Módulo de Reconhecimento de Voz e Comando para Arduino

Aplicação e Funcionamento: Desenvolvido com alta tecnologia e com intuito de ser um produto inovador no mercado de projetos eletrônicos, o Módulo de Reconhecimento de Voz é capaz de...

Aplicação e Funcionamento:

Desenvolvido com alta tecnologia e com intuito de ser um produto inovador no mercado de projetos eletrônicos, o Módulo de Reconhecimento de Voz é capaz de receber e comandar a execução de diferentes tarefas por meio de comandos de voz do usuário junto ao Arduino.

O funcionamento do Módulo de Reconhecimento de Voz dá-se por meio de comandos de voz de aproximadamente 1500ms, uma ou duas palavras em média, com capacidade de armazenamento de até 80 comandos, porém somente 7 comandos podem ser utilizados por vez.

Em um exemplo ilustrativo o Fabricante cita que: “O Módulo de Reconhecimento de Voz funciona como um Time de futebol. O time possui 80 jogadores em sua equipe, mas você não pode jogar com todos ao mesmo tempo em campo, a regra permite que apenas sete jogadores possam atuar em campo”.

Importante destacar que junto ao Módulo Reconhecimento de Voz acompanha um Microfone, responsável pelo recebimento de comando de voz e consequentemente utilizado o mesmo para realizar o controle de carrinhos robóticos, iluminações residenciais, equipamentos eletrônicos e entre outros.

Com vasta usabilidade o Módulo de Reconhecimento de Voz é um equipamento extremamente útil para você que deseja comandar seu projeto de um modo único e diferenciado. No caso de projetos de automação residencial o Módulo pode ser utilizado para comandar centrais de iluminação, nas quais comandos de voz são capazes de ligar luzes da sala, do quarto, da cozinha e etc. Para esse projeto pode ser necessário mais acessórios e depende de programação.

Vale lembrar que o Módulo de Reconhecimento de Voz para Arduino é dependente do locutor, isto é, não reconhecerá a voz de uma pessoa diferente, já que alterações significantes no tom e modo de falar sofrerão variações significativas.

Teste Prático:

[Vídeo em Breve].

Produtos utilizados no teste:

Montagem Física (Hardware):

De fácil conexão e montagem, o Módulo de Reconhecimento de Voz pode ser facilmente utilizado, observe os esquemas de ligação abaixo.

Esquema de ligação para gravação dos áudios:
Esquema de Ligação Módulo de Reconhecimento de Voz

Módulo          —->            Arduino
GNG             —->            GND
VCC             —->             5V
RXD             —->             3
TXD             —->             2

Esquema de ligação para execução do projeto:

Esquema de Ligação Módulo de Reconhecimento de Voz com Relé

Funcionamento do Programa (Software):

Após realizar a montagem do circuito citado acima, faça o download da Bibioteca Reconhecimento de Voz disponível no seguinte link:

Download AQUI

Após realizar o download da biblioteca, extraia os arquivos para a pasta de exemplos disponível na pasta Arduino de seu Disco Local. Feito isto, seu programa Arduino já estará pronto para executar de forma rápida e fácil as bibliotecas do módulo em questão.

Abra a IDE do Arduino e em seguida navegue até “Arquivo->Exemplos->Módulo de Reconhecimento de Voz->vr_sample_train”. Depois de carregada a Biblioteca, no canto inferior direito do Monitor Serial defina Nova-linha e 115200 velocidade, assim como na imagem abaixo:

Menu de Comandos do Módulo de Reconhecimento de Voz

Após feto isto, observe a lista de comandos que irá ser apresentada em seu monitor, cada comando possui uma função específica e de suma importância no desenvolvimento de seu projeto.

Comando “train (r0) (r1) …” – Grava interruptamente a sequencia estipulada de áudios.
Comando “load (r0) (r1) …” – Carrega e anexa os áudios em sua biblioteca (7 de cada vez).
Comando “clear” – Remove todos os áudios arquivados.
Comando “record” – Verifica o estado treinado/não treinado.
Comando “vr” – Verifica sequencia de áudios.
Comando “getsing” –Obtém a assinatura de registro.
Comando “sigtrain” – Realiza a gravação de um registro específico junto de sua assinatura.
Comando “settings” – Verifica a configuração do módulo.

Comando “help” – Imprime a tabela de comandos novamente.

Depois de compreendermos cada comando, vamos começar treinando alguns comandos de voz através do comando “sigtrain r acender”, onde “r” é o número do registro utilizado, sigtrain o comando para gravar o áudio e acender é a assinatura do seu áudio.

Sempre que aceito seu comando de gravação, comandos irão aparecer em seu Monitor Serial, comandos como Speak now no qual você deverá falar a palavra que quer que seja gravada e Speak again no qual deve repetir a palavra dita anteiormente. Repita este processo até obter sucesso através da mensagem Sucess que irá aparecer na sua tela.

Repita o mesmo processo com os registros 0, 1, 2, 3, 4 e 5, onde 0, 2, 4 são comandos para liberar e 1, 3, 5 são comandos para interromper o envio de sinal.

Depois de todos os arquivos de áudios já gravados, digite “load 0 1 2 3 4 5” e carregue os novos comandos de voz para seu projeto.

Carregando Sons para Módulo de Reconhecimento de Voz

Agora que temos todos os comandos já gravados, abra uma nova IDE do Arduino e em seguida navegue até “Arquivo->Exemplos->Módulo de Reconhecimento de Voz->vr_sample_control_rele”. Depois de carregada a Biblioteca, no canto inferior direito do Monitor Serial defina Nova-linha e 115200 velocidade, assim como no exemplo anterior e na imagem abaixo:

Detecta Áudios Carregados no Módulo de Reconhecimento de Voz

O exemplo “vr_sample_control_rele” será responsável pelo reconhecimento dos comandos de voz treinados anteriormente e assim, realizar o controle dos relés que estarão instalados juntos as portas 11, 12 e 13. Então agora mandamos os comandos de voz para o Arduino onde cada comando será recebido e apresentado em seu Monitor Serial assim como abaixo:

Reconhece as Falas Junto ao Módulo de Reconhecimento

Conclusão:

Depois de feito isto e seguido todos os passos apresentados anteriormente, teremos desenvolvido um projeto de qualidade e eficiência, com simples conexão e fácil instalação. O Módulo de Reconhecimento de Voz pode ser utilizado para uma gama extremamente grande de aplicações, porém um fator que iremos descobrir no decorrer deste projeto é a alta sensibilidade que o produto apresenta, aceitando o camando de voz de um só indivíduo, no caso a pessoa que gravou.

O limite para os seus projetos é você mesmo quem faz, uma boa ideia com o produto ideal pode se tornar um belo projeto capaz de impressionar a todos e facilitar a sua vida, com o projeto correto você pode melhorar sua qualidade de vida, melhorar a segurança de sua casa e se divertir com diferentes esquemas de entretenimento. Deixe seu comentário falando o que você fez de diferente, compartilhe suas ideias com todos!

Autor: Matheus Gebert Straub
Faça um bom uso! Att. Equipe Usinainfo
Categorias
ArduinoAutomação Residencial
43 Número de Comentários
  • marcio rosa
    26 março 2017 at 20:35
    Enviar Resposta

    Boa tarde,

    Consegui fazer o processo, e criei outros exemplos e tudo funciona perfeitamente. Porem, quando desligo, preciso novamente fazer o Load para que ele reconheça.

    Tentei através do manual fazer configurar o Auto Load, porem é via hexadecimal, e não consegui evoluir. Você chegou até esse ponto? pode me dar uma luz ou ajudar?

    Desde já agradeço o apoio e atenção!

    Márcop

    • Equipe Usinainfo
      29 março 2017 at 18:13
      Enviar Resposta

      Boa tarde!
      Quando desenvolvemos o referente projeto não chegamos a trabalhar com o mesmo
      após um desligamento, até o momento não nos deparamos com esta situação.
      Att Equipe Usinainfo

  • Pedro
    11 abril 2017 at 01:58
    Enviar Resposta

    Olá Equipe do Usinainfo. Eu gostaria de saber se não tem como vocês poderem mostrar como fazer a gravação do módulo usando um PIC.

    • Equipe Usinainfo
      13 abril 2017 at 14:55
      Enviar Resposta

      Bom dia, infelizmente ainda não trabalhamos com o desenvolvimento de projetos utilizando PIC, no momento desenvolvemos projetos somente com Arduino.
      Att Equipe Usinainfo

    • eDUARDO
      5 dezembro 2017 at 19:01
      Enviar Resposta

      Ola Pedro estou desenvolvendoalgo com esse modulo de voz e o PIC

  • rAFAEL mOURA
    9 outubro 2017 at 12:47
    Enviar Resposta

    Ola,

    Realizei todo processo até a gravação dos comandos, porém quando carrego a biblioteca para o acionamento dos relés, aparece uma mensagem que não está reconhecendo o módulo de reconhecimento de voz, problema com a porta serial.
    O que pode estar acontecendo?

    Att,

    Rafael Moura

    • Equipe Usinainfo
      31 outubro 2017 at 13:27
      Enviar Resposta

      Boa tarde !
      Infelizmente durante o processo de desenvolvimento do referente projeto não nos deparamos com tal problema, solicitamos que verifique a solda de todos os pinos e se possível tente alterar a porta digital utilizada para descartar a possibilidade de problemas com a mesma, ou até mesmo algum tipo de mal contato. Att Equipe UsinaInfo

  • gabriel
    31 outubro 2017 at 22:10
    Enviar Resposta

    Olá, gostaria de saber como conseguir gravar mais comando depois do comando 5

    • Equipe Usinainfo
      6 novembro 2017 at 13:50
      Enviar Resposta

      Bom dia, este produto pode armazenar até 7 comandos por seção somente, este código é um código exemplo desenvolvido como base para futuros projetos, para incluir mais seções e mais comandos, devem ser realizados as devidas alterações junto ao código que proporcionem as características desejadas.

  • PAULO JEAM FERREIRA LIMA
    8 novembro 2017 at 04:28
    Enviar Resposta

    Olá!

    Gostaria de saber como eu treino o modulo de uma forma que ele só aceite os comandos quando eu chamar ele!
    por exemplo: “Arduino, acender luz”

    • Equipe Usinainfo
      9 novembro 2017 at 13:19
      Enviar Resposta

      Bom dia!
      Em tese, este módulo padroniza-se através do seu tom de voz, ou seja, ele possui uma sensibilidade para reconhecer principalmente a voz de quem gravou os comandos, demais informações para o desenvolvimento do projeto que deseja você pode encontrar acima neste mesmo artigo do nosso blog.

  • Lucas
    9 novembro 2017 at 19:39
    Enviar Resposta

    Bom dia!
    Quando abro o serial monitor, não aparece nada.
    Oq eu faço?

    • Equipe Usinainfo
      16 novembro 2017 at 13:37
      Enviar Resposta

      Bom dia, o seu Arduino está sendo reconhecido normalmente?
      Tente selecionar a porta COM correspondente antes de abrir o monitor serial. Caso o problema persista, reinstale o código em seu Arduino e tente novamente.

  • Sandro Flores
    9 fevereiro 2018 at 22:19
    Enviar Resposta

    Boa noite, sou cliente de vocês muito bom esse post,tentei fazer com o meu, mas quando envio os comandos train, não acontece nada, o que pode ser?

    • Equipe Usinainfo
      21 fevereiro 2018 at 20:34
      Enviar Resposta

      Bom dia!
      Vale lembrar que para realizar a armazenagem de comandos com o arquivo vr_sample_train é necessário incluir na porta serial a frase “sigtrain r acender”, onde “r” é o número do registro utilizado, sigtrain o comando para gravar o áudio e acender é a assinatura do seu áudio. Isto tudo com o Monitor Serial definido em “Nova-linha” e baud rate em “115200 velocidade”.

  • Jair Quesada
    26 fevereiro 2018 at 22:59
    Enviar Resposta

    Boa noite.

    Há alguma alteração na biblioteca para usar a placa Black Board da Robocore?

    • Equipe Usinainfo
      1 março 2018 at 12:39
      Enviar Resposta

      Olá Jair! Caso o modelo seja compatível com o utilizado em nosso projeto não será necessária a alterações no código, vale lembrar somente que cada modelo Arduino possui suas alterações necessárias para gravação do código junto ao programa Arduino.

  • Caio martinelli
    4 março 2018 at 17:06
    Enviar Resposta

    Depois de apanhar um pouco consegui programar via Hexadecimal do jeito que eu queria. Os comandos funcionando corretamente com TAG’s. Modifiquei o duty cycle do pulso para adequação de tempo de reposta do meu microcontrolador que estou usando no meu TCC. Consegui utilizar as entradas para selecionar os grupos e utilizar a saída para o controle, evitando uma comunicação serial. Consegui colocar um auto-load nos grupos de voz quando ligo o circuito.Agora só falta terminar meu TCC. Obrigado por demonstrar essa placa, ela é muito boa no que faz.

    • Equipe Usinainfo
      9 março 2018 at 13:13
      Enviar Resposta

      Bom dia Caio!
      Parabéns pelo projeto, ficamos felizes em poder auxiliar em momentos importantes como este, continue trabalhando duro e conquistando novas vitórias.

    • Paulo vitor
      25 abril 2018 at 13:21
      Enviar Resposta

      Oi Caio, td bem? Vc esta usando a biblioteca fornecida (de Arduino) ou outra para se comunicar com o microcontrolador? Andei procurando e só achei projetos que usam Arduino, mas necessito usar um PIC no projeto. Desde já, Obrigado.

  • Carlos
    13 março 2018 at 22:27
    Enviar Resposta

    quantos relé eu consigo ligar na placa UNO ?quero adquirir o kit mais queria o módulo de rele com mais canais.

    • Equipe Usinainfo
      20 março 2018 at 11:56
      Enviar Resposta

      Bom dia!
      A placa Arduino UNO possui 13 saídas digitais para controle, ou seja, utilizando as conexões diretas do Arduino em questão você pode controlar 13 Relés, caso desejar adicionar mais relés, uma opção é a utilização de multiplexadores.
      Vale lembrar porém, que devemos sempre respeitar os limites de tensão e corrente do Arduino, pensando nisto, recomendamos uma alimentação externa para o módulo relé, que não a do Arduino.

  • welligton
    16 março 2018 at 20:08
    Enviar Resposta

    boa tarde. quando digito train 0 1 aparece Train Timeout. todos comandos aparece timeout.
    obrigado!!

    • Equipe Usinainfo
      23 março 2018 at 18:21
      Enviar Resposta

      Para gravar um comando de voz você deve digitar o comando “sigtrain r acender”, onde “r” é o número do registro utilizado, sigtrain o comando para gravar o áudio e acender é a assinatura do seu áudio.

  • Carlos
    18 março 2018 at 18:13
    Enviar Resposta

    Boa tarde sou iniciante quando digito o comando train no monitor serial ele informa comand format Error! E nao consigo gravar comando de voz o que devo fazer

    • Equipe Usinainfo
      23 março 2018 at 18:25
      Enviar Resposta

      Olá Carlos!
      O melhor meio de gravar é utilizando o comando “sigtrain r acender”, onde “r” é o número do registro utilizado, sigtrain o comando para gravar o áudio e acender é a assinatura do seu áudio.

  • Giovani Delgado
    16 abril 2018 at 15:03
    Enviar Resposta

    Boa tarde! Parabéns pelo post!!! Não iniciei o projeto ainda (falta material). Para esclarecer dúvida: pretendo instalar em um apartamento para comandar as luzes e alguns objetos. Neste apartamento moram 3 pessoas. As 3 pessoas terão que gravar com as suas respectivas vozes? Isto é possível?

    • Equipe Usinainfo
      19 abril 2018 at 20:50
      Enviar Resposta

      Olá Giovani!
      Ele reconhece somente o tom da voz cadastrada, caso mais de uma pessoa tenha que acionar, cada uma terá que ter um comando independente.

  • Mayara
    29 abril 2018 at 13:45
    Enviar Resposta

    Fui testar esse sensor, exatamente como o tutorial. O que acontece é que fica aparecendo uns caracteres especiais como por exemplo esses: ⸮⸮⸮Y⸮⸮⸮$⸮+4⸮⸮⸮,R`⸮⸮⸮im⸮b⸮<⸮!,Aޚ!8⸮2⸮j⸮

    Alguém sabe me dizer como resolver?

    • Equipe Usinainfo
      10 maio 2018 at 12:56
      Enviar Resposta

      Olá Mayara!
      Provavelmente o problema esteja no ajuste do baud rate, solicitamos que ajuste junto ao monitor serial a opção “Nova-linha” e baud rate em “115200 velocidade”, acreditamos que vá resolver o seu problema.

  • Jean
    5 maio 2018 at 22:46
    Enviar Resposta

    Boa noite. Ainda sou iniciante no Arduino. Estou fazendo um projeto para ligar e desligar uma lâmpada utilizando o módulo de reconhecimento de voz. Consegui gravar os comandos “Liga e desliga” no módulo de reconhecimento de voz, mas a minha dificuldade está sendo a parte das conexões no módulo relé. O meu módulo relé tem apenas 2 canais, e tem um grupo de conexões um pouco diferente desse módulo relé de 4 canais da imagem. Por gentileza, vc podia me passar o seu email ou Whatsapp para me ajudar?

    • Equipe Usinainfo
      10 maio 2018 at 13:00
      Enviar Resposta

      Comumente os módulos relés possuem três pinos fundamentais para alimentação e interpretação de dados, no caso dos módulos relés de dois canais temos dois pinos de alimentação (VCC e GND) e dois pinos para leitura digital (IN1 e IN2). Basta verificar os pinos atribuídos a cada comando e posicioná-los de maneira correta junto ao Arduino.

  • Damião edson
    11 maio 2018 at 21:30
    Enviar Resposta

    Ola somente hoje vi esse projeto de vocês, e gostei muito enfim gostaria de saber como poderia acrescentar ao projeto a resposta do sistema, como por exemplo digo “PC” ele me responde ” SIM ou ESTOU AQUI” dai digo “ligar luz” e computador responde “LUZ SENDO LIGADA” enfim seria possivel fazer isso e como poderia ser feito tanto em codigo como componentes pois sei que teria que ser colocado tanto como um módulo MP3 como um módulo reprodutor de audio

    • Equipe Usinainfo
      17 maio 2018 at 14:03
      Enviar Resposta

      Olá!
      Neste caso será necessária a inclusão de um módulo MP3 em seu projeto e alto falantes para a reprodução do som, quanto ao código, ao invés de acionar uma relé, deverá selecionar o áudio correspondente à resposta que estará em um cartão de memória junto ao módulo MP3.

  • Jean
    23 maio 2018 at 18:08
    Enviar Resposta

    Olá. Me disseram que o código é carregado diretamente na memória do Módulo de Reconhecimento de Voz, mas eu não consigo dar comandos ao Módulo sem ele estar conectado diretamente no computador. Por exemplo, quando uso o plug do meu recarregador do celular como fonte de energia no Arduino (que também está conectado ao VR3 e ao relé), a luz amarela do VR3 que normalmente fica piscando após os comandos serem carregados, simplesmente para de piscar e se mantém acessa, como se eu não tivesse gravado comando algum. E sempre depois de fazer isso eu tenho que gravar os comandos novamente porque eles “desaparecem”. Os comandos também somem e o processo de gravação tem que ser refeito toda vez que eu desligo e ligo o PC. O que eu posso fazer para corrigir esse problema?

    • Equipe Usinainfo
      30 maio 2018 at 12:59
      Enviar Resposta

      Bom dia! Infelizmente até o momento não desenvolvemos o projeto até tal ponto, uma opção é através do manual verificar a função Auto Load, porem esta é utilizada via hexadecimal. Este projeto é somente uma base para auxilio de projetos mais completos e complexos.

  • Jonathan
    6 setembro 2018 at 01:33
    Enviar Resposta

    Cara Equipe Usinainfo,
    Nos “Produtos utilizados no teste” está como primeiro deles um Modulo de Reconhecimento de Voz V3 e um link que leva ao site https://www.usinainfo.com.br/sensor-de-som-arduino/sensor-de-som-para-arduino-2545.html que vende um Sensor de Som diferente do apresentado nas imagens da “Montagem física (hardware)”. Nota-se diferença nos componentes, pois o apresentado na Montagem tem quatro pinos (GND, VCC, RXD, TXD) conectados no arduino, enquanto o do link para compra possui apenas três pinos para conectar no arduino (GND, OUT, +5V).
    –> Minha pergunta é, Tem como aplicar as opções de “software” de vocês nessa produto vendido no link, mesmo tendo uma conexão ao arduino diferente da apresentada aqui? Ou seja, com o produto do link, vou poder fazer tudo o que foi explicado aqui do mesmo jeito?

    • Equipe Usinainfo
      27 setembro 2018 at 14:13
      Enviar Resposta

      Olá Jonathan.
      Infelizmente o produto utilizado como base para desenvolver o referente projeto foi descontinuado e não temos mais o mesmo para comercialização em nosso site, este item ao qual foi direcionado é um sensor de som que não possui as mesmas funções executadas pelo modelo anterior mas é o que chega mais próximo.

  • HIGOR SILVA MARCIANO
    21 setembro 2018 at 12:12
    Enviar Resposta

    bom dia, eu fiz passo a passo inclui a biblioteca do v3 mas no meu monitor serial não mostrou nada mesmo após a mudança da velocidade de comunicação para 115200

    • Equipe Usinainfo
      16 outubro 2018 at 13:36
      Enviar Resposta

      Bom dia Higor!

      Não é um problema comum de ocorrer até o momento não me deparei com este erro, verifique os pinos se estão bem conectados e se o código está devidamente instalado em seu equipamento Arduino. Pode ser um problema no sensor de voz, vale lembrar que a variação no modelo de um equipamento para outro pode causar incompatibilidade na biblioteca utilizada.

  • Élio dos santos asiss neto
    15 novembro 2018 at 21:54
    Enviar Resposta

    Boa noite!
    fiz o download da biblioteca e não encontrei o O exemplo vr_sample_control_rele,

    Desde já grato pelas informações

    • Equipe Usinainfo
      28 novembro 2018 at 12:59
      Enviar Resposta

      Bom dia Élio!
      Para encontrar o arquivo, você pode utilizar o caminho “Arquivo->Exemplos->Módulo de Reconhecimento de Voz->vr_sample_control_rele” caso já o tenha incluído na pasta examples do seu software ou se preferir entrar na pasta examples onde encontra-se o sua pasta Arduino e seguir o caminho VoiceRecognitionV3 –> examples -> vr_sample_control_rele, também irá funcionar.

  • Élio dos santos asiss neto
    17 novembro 2018 at 20:59
    Enviar Resposta

    Boa tarde!
    Baixei arquivo mas a biblioteca não veio o vr_sample_control_rele” não veio.

    • Equipe Usinainfo
      28 novembro 2018 at 12:56
      Enviar Resposta

      Olá Élio!

      A princípio, a biblioteca utilizada é a “VoiceRecognitionV3.h” que está junto ao arquivo para download, basta seguir os passos descritos junto ao projeto.

    Enviar Resposta

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados