Maneira mais simples de projeto de reconhecimento de voz usando c # toarduino
Componentes e suprimentos
![]() |
| × | 1 | |||
![]() |
| × | 3 | |||
![]() |
| × | 3 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
Aplicativos e serviços online
![]() |
| |||
![]() |
|
Sobre este projeto
Nota:Olá,
Fiz este projeto há 2 anos e recebi um feedback encorajador. Se você é um novo membro, eu recomendo que você siga abaixo (tutorial atualizado para 2020)
Link do tutorial de atualização:
https://medium.com/illumination/how-to-make-your-first-voice-project-using-arduino-956bfd494947
Obrigado :)
Descrição do projeto
Todos nós somos abençoados com diferentes tipos de sensores como (ouvido, língua, nariz ...) e os usamos em nossa vida diária, não de uma forma, mas de uma comunicação bidirecional que é a transmissão e recepção de dados acontecendo. O mesmo conceito que aplicamos nas máquinas!
Como um iniciante, quase todo mundo começa com LEDs piscando ligado / desligado e eu também fiz isso, mas eu queria controlar esses componentes eletrônicos usando meus comandos de voz. Então, finalmente, depois de pesquisar e aprender com a internet, concluí o projeto e estou pronto para compartilhá-lo com a comunidade criativa Especialmente ( Iniciantes Maneira mais simples de reconhecimento de voz usando o Arduino!
Para tornar as coisas mais simples, estamos usando LEDs. Neste projeto, iremos ligar / desligar LEDs, não de forma padrão, mas usando nossos comandos de voz e a parte interessante é que é muito simples e fácil, apenas um pouco de conhecimento de programação é necessário, isso é tudo!
Por que fiz este projeto?
Tudo começou quando meu professor nos demonstrou um projeto de aplicativo de formulário do Windows em c #. Nesse projeto, Sir estava controlando o BULB virtual usando comandos de voz e foi feito usando o software c # visual studio apenas sem Arduino ou qualquer outro material de hardware. Foi incrível :) Então, para um novo projeto usando Arduino, pensei por que não controlar o Led usando o comando de voz, porque neste projeto estamos controlando fisicamente o hardware, não virtualmente o que o senhor demonstrou.
Por que este projeto é simples?
Há mais uma razão importante para este projeto e são vocês, makers. Pensei que esse projeto ajudará a comunidade de makers a criar algo novo a partir dele, e o recurso de reconhecimento de voz aumenta a criatividade e o valor do projeto! Agora a parte incrível por que é tão simples? Porque você não precisa de nenhum módulo externo para fazer este projeto :) Eu tinha certeza que deveria haver uma maneira de fazer este projeto sem usar o módulo de reconhecimento de voz! e finalmente descobri isso graças ao linkhttps abaixo://www.c-sharpcorner.com/article/turning-led-off-and-on-through-voice-recognition/
Como fazer?
Reúna todos os componentes necessários para este projeto.
- Projete o circuito na placa de ensaio conforme o diagrama de circuito abaixo

- Em seguida, conecte o cabo USB Arduino ao seu computador
- baixe o código do Arduino, abra o IDE do Arduino e crie um novo esboço, cole o código.
Há apenas um software que você precisa instalar e é o visual studio que estou usando o Microsoft visual studio versão 2010 e você pode instalar qualquer versão que quiser, apenas certifique-se de que pode criar um aplicativo de formulário do Windows usando c # from it.watch para baixar o visual estúdio
Clique no link abaixo e em download-> download diretohttps://www.dropbox.com/sh/pmdflsjui0ayjcs/AAAO4sfb2Tc559CLyOQut_NDa? Dl =0

e você está feito
- carregue seu esboço do Arduino e execute o aplicativo c # clicando no botão de seta verde para iniciar

Nota # 0: Este projeto não funcionará se você não incluiu using.system.speech biblioteca em seu código c # do Visual Studio não se preocupe, apenas siga as instruções abaixo para incluir a biblioteca Vá para a barra de ferramentas acima Projeto-> Adicionar Referência ->. Net -> Pesquisar using.system.speech e clique em OK, isso é tudo :)

Nota # 1: Certifique-se de que a porta COM que você selecionou no IDE do Arduino é a mesma que no código c # do visual studio. Como você pode ver abaixo, a minha porta COM é a mesma com o código do Arduino e C #.

Se você estiver tendo alguma confusão, basta assistir a este vídeo de demonstração e você estará pronto para controlar os LEDs usando sua voz :)
Clique aqui para assistir a demonstração do projeto no Youtube
O que você fez com este projeto?
Use sua criatividade para fazer algo novo a partir deste projeto.
Aprenda, crie, compartilhe e repita
Código
- Código-fonte do Arduino
- Código C #
Código-fonte do Arduino C / C ++
Código-fonte do Arduino para o projeto de reconhecimento de voz/ * Este programa é sobre como controlar os estados dos leds LIGADO e DESLIGADO usando a biblioteca de reconhecimento de voz de c # (usando system.speech) * Parte emocionante é que você não precisa ter nenhum módulo externo para transmitir dados para arduino porque você pode usar facilmente * o microfone embutido do computador ou o microfone dos fones de ouvido. * * Este programa é apenas para dar uma idéia básica especialmente para iniciantes e depois é sua própria criatividade como usá-lo de uma forma útil. * Continue aprendendo, compartilhe, pense e repita * Aproveite! * * Por Jalal Mansoori * / const int blueLed =10; const int redLed =9; const int greenLed =8; char EntryData ='0'; void setup () {// coloque seu código de configuração aqui, para executar uma vez:// obtendo leds readySerial.begin (9600); pinMode (blueLed, OUTPUT); pinMode (redLed, OUTPUT); pinMode (greenLed, OUTPUT);} void loop () {// coloque seu código principal aqui, para executar repetidamente:EntryData =Serial.read (); // Caso de switch para controlar o led em nosso caso, temos apenas 3 interruptores Azul, Verde e Vermelho (EntryData) {// Esses casos são apenas para o estado ON do led // Para o caso do led azul 'B':digitalWrite (blueLed, HIGH ); pausa; // Para a caixa de led vermelho 'R':digitalWrite (redLed, HIGH); pausa; // Para a caixa de led verde 'G':digitalWrite (greenLed, HIGH); pausa; // Esses casos são para o estado OFF do led e o nome do caso z, x, c são dados aleatoriamente, você também pode alterar, mas // certifique-se de alterá-lo em um código c # também. // Para a caixa de led azul 'Z':digitalWrite (blueLed, LOW); pausa; // Para a caixa de led vermelho 'X':digitalWrite (redLed, LOW); pausa; // Para a caixa de led verde 'C':digitalWrite (greenLed, LOW); pausa; // Para ligar todos os leds de uma vez :) case 'V':digitalWrite (blueLed, HIGH); digitalWrite (redLed, HIGH); digitalWrite (verdeLed, HIGH); pausa; // Para desligar todos os leds de uma vez :) case 'M':digitalWrite (blueLed, LOW); digitalWrite (redLed, LOW); digitalWrite (verdeLed, BAIXO); pausa; }}
Código C # C #
Este código é para estúdio visual. Neste código, você pode ver no topo algumas bibliotecas incluídas; existe a biblioteca using.system.speech que você precisa incluir na referência do seu projetoé assim que se faz
Barra de ferramentas
Projeto-> Adicionar Referência -> .Net-> Pesquisar usando system.speech-> clique em OK
Isso é tudo Aproveite :)
/ * Este programa é para conectar c # e Arduino para transmitir dados do microfone do computador para a placa arduino Por Jalal Mansoori * / using System; using System.Windows.Forms; using System.IO.Ports; // Esta biblioteca é para conectar c # e Arduino para transmitir e receber dados através das portas // Abaixo estão as bibliotecas para reconhecimento de voz usando System.Speech; using System.Speech.Recognition; using System.Speech.Synthesis; namespace CsharpCode {public partial class Form1 :Form {// Criando objetos SerialPort myPort =new SerialPort (); SpeechRecognitionEngine re =new SpeechRecognitionEngine (); SpeechSynthesizer ss =novo SpeechSynthesizer (); // Quando você deseja que o programa responda a você Comandos de escolhas =new Choices (); // Esta é uma classe importante, pois o nome sugere que armazenaremos nossos comandos neste objeto public Form1 () {InitializeComponent (); // Detalhes da placa Arduino myPort.PortName ="COM5"; // Meu nome de porta no Arduino IDE selecionou COM5, você precisa alterar o nome da porta se for diferente, basta verificar em arduinoIDE myPort.BaudRate =9600; // Esta taxa é a mesma do arduino Serial.begin (9600) bits por segundo processing (); } // Processamento de função definida onde a instrução principal será executada! void processing () {// Primeiro de todos os comandos de armazenamento.Adicionar (new string [] {"Azul Ligado", "Vermelho Ligado", "Verde Ligado", "Azul Desligado", "Vermelho Desligado", "Verde Desligado" , "Sair", "Tudo ligado", "Tudo desligado", "Arduino diga adeus aos fabricantes"}); // Agora criaremos um objeto de Gramática no qual passaremos os comandos como parâmetro Grammar gr =new Grammar (new GrammarBuilder (comandos)); // Para obter mais informações sobre as funções abaixo, consulte o site https://docs.microsoft.com/en-us/dotnet/api/system.speech.recognition?view=netframework-4.7.2 re.RequestRecognizerUpdate (); // Pausa o mecanismo de reconhecimento de fala antes de carregar os comandos re.LoadGrammarAsync (gr); re.SetInputToDefaultAudioDevice (); // Como Nome sugere microfone embutido do dispositivo de entrada ou você também pode conectar o fone de ouvido, etc ... re.SpeechRecognized + =new EventHandler(re_SpeechRecognized); } void re_SpeechRecognized (objeto remetente, SpeechRecognizedEventArgs e) {switch (e.Result.Text) {//// Para Led State ON // Para case led azul "Blue On":sendDataToArduino ('B'); pausa; // Para a caixa de led vermelho "Red On":sendDataToArduino ('R'); pausa; // Para o caso de led verde "Green On":sendDataToArduino ('G'); pausa; // Para Led State OFF // Para led azul "Blue Off":sendDataToArduino ('Z'); pausa; // Para a caixa de led vermelho "Red Off":sendDataToArduino ('X'); pausa; // Para o caso de led verde "Green Off":sendDataToArduino ('C'); pausa; // Para ligar todos os leds de uma vez :) case "All On":sendDataToArduino ('V'); pausa; // Para desligar todos os leds de uma vez :) case "All Off":sendDataToArduino ('M'); pausa; // O programa responderá ao caso "Arduino Say Good Bye to makers":ss.SpeakAsync ("Good Bye Makers"); // objeto de síntese de voz é usado para este propósito break; // Para sair do programa usando Voice :) case "Exit":Application.Exit (); pausa; } txtCommands.Text + =e.Result.Text.ToString () + Environment.NewLine; // Sempre que comandarmos o arduino, o texto será anexado e mostrado na caixa de texto} void sendDataToArduino (char character) {myPort.Open (); myPort.Write (character.ToString ()); myPort.Close (); } private void btnStop_Click (objeto remetente, EventArgs e) {re.RecognizeAsyncStop (); //btnStart.Enabled =true; btnStop.Enabled =false; btnStart.Enabled =true; } private void btnStart_Click (objeto remetente, EventArgs e) {re.RecognizeAsync (RecognizeMode.Multiple); btnStop.Enabled =true; btnStart.Enabled =false; MessageBox.Show ("Reconhecimento de voz iniciado!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information); }}}
Esquemas
Basta seguir o esquema e conectar os componentes em sua placa de ensaio1 -> Em primeiro lugar, conecte os leds e os resistores conforme mostrado no diagrama
2-> Em seguida, inicie um por um e conecte o terminal led + ive na mesma coluna onde o resistor está conectado à caixa de pinos digital Arduino
Terminal GreenLed + ive para pino digital 8
Terminal RedLed + ive para pino digital 9
Terminal BlueLed + ive para pino digital 10
3-> Por último, conecte o aterramento do arduino ao terminal leds -ive usando o fio jumper, conforme mostrado no diagrama schematic_ob2ZmiQwOV.fzz
Processo de manufatura
- ASSISTENTE DO GOOGLE MATRIX VOICE - PROJETO MATRIX VOICE
- Reconhecimento facial em tempo real:um projeto de ponta a ponta
- Windows IoT:Porta de reconhecimento facial
- Smart Pen:Projeto Final para ECE5725
- DIY LUMAZOID Arduino Music Visualiser
- Faça Monitor Ambilight usando Arduino
- DIY 37 LED Roulette Game
- Máquina de LEVITAÇÃO ULTRASÔNICA Usando ARDUINO
- Construa uma viagem! Robot - Projeto Easy Starter para Crianças
- Relógio POV de LED estilo analógico