Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô controlado por fala

Componentes e suprimentos

Arduino Nano R3
× 1
Motorista L298n
× 1
Módulo Bluetooth HC-05
× 1

Ferramentas e máquinas necessárias

Pistola de cola quente (genérica)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Robôs são legais. Ter um robô que pode se mover ouvindo seus comandos de voz é mais legal. Fazer um robô controlado por fala ou voz com o Arduino é cada vez mais legal. Porque os Arduino são baratos e fáceis de ajustar.

Vamos começar a fazer, você também pode assistir ao vídeo tutorial.





Etapa 1:peças necessárias


O robô é baseado em PCB. Um PCB que eu projetei para usar em diferentes robôs. Vamos ver quais outros componentes eu usei -

Eletrônica:
  • Arduino Nano - 1x
  • Módulo driver do motor L298n - 1x
  • Módulo Bluetooth Hc05 - 1x
  • motor DC e roda compatível - 2x
  • Robô multifuncional PCB - 1x (link)
  • Alguns cabeçalhos masculinos e femininos

Para fazer corpo:
  • Folha de PVC
  • pistola de cola quente

Software:
  • Arduino.ide
  • Um aplicativo que eu fiz

É isso, agora estamos prontos.





Etapa 2:Princípio:como funcionará?


É sempre bom ter uma compreensão clara do que você vai fazer antes de começar a bagunçar as coisas. Pode ser que você não bagunce, mas eu faço.

Então, o Arduino é um mini computador ou, digamos, microcontrolador. Ele não tem potência ou capacidade suficiente para realizar o reconhecimento de fala (a partir de agora). Mas, para minha sorte, minha placa PCB tem uma porta para conectar o módulo Bluetooth. Significa que posso conectar nosso Arduino sem fio a outros dispositivos. E estou aproveitando isso. Então, terei que fazer um aplicativo Android que possa realizar a operação "Speech to Text" usando a API do google (requer internet) e após receber o texto, ele irá comandar o Arduino via Bluetooth.

Portanto, se eu disser 'Avançar', o robô obterá 'F' e se moverá para frente. Esse é o conceito. Agora vamos fazer isso.





Etapa 3:faça o corpo


Fiz o chassi / carroceria deste robô com uma folha de PVC de 13cm / 13,5cm. É mais fácil de cortar com uma lâmina / faca e funciona muito bem com colas também.

Como você pode ver no vídeo, cortei peças para montar dois motores e rodas dentro da área do tabuleiro. E então os colou.

Quando você fizer o seu, não precisa torná-lo exatamente assim. Seu bot é sua escolha.





Etapa 4:construir circuito ou usar PCB?


Mais uma vez, chegamos ao ponto em que a escolha é sua. Mas, para fazer um circuito como este requer um monte de fiação, e se você fizer isso usando placa de ensaio, uma conexão incorreta pode atrapalhar todo o projeto. É por isso que gosto de usar PCBs em meus projetos.

Eu projetei este PCB usando EasyEDA e o encomendei de PCBWay.com. O PCBWay oferece qualidade a um preço mais barato. Você pode obter 10 PCB multicamadas com apenas 5 $. Eles também patrocinam projetos de alunos, o que é ótimo para mim.

De qualquer forma, fui para a seção Quick Order onde tudo que eu precisava fazer é fazer o upload do meu PCB, o sistema detectou automaticamente todos os parâmetros da minha placa e eu apenas selecionei as cores. Preto é o meu favorito e veja como ficou brilhante e legal. É melhor porque eles não aceitam dinheiro até que sua equipe de engenharia inspecione seu PCB, bem o suficiente!

Obtenha a placa PCB daqui.

No entanto, se você não pode pedir ou usar este PCB, você pode fazê-lo na placa de pão ou placa vero. Eu carreguei o circuito ruim para você. Faça o download abaixo ou obtenha aqui.
discurso-controlado-robô-esquemático.fzz





Etapa 5:conectar os eletrônicos


A conexão é direta. Conecte todas as coisas conforme mostrado no diagrama do circuito. Vou começar conectando os motores ao driver do motor -

Motor para motor,
  • Os fios do Motor1 vão para uma extremidade do driver,
  • Motor2 vai para o outro lado.

Para controlar os motores,
  • Os pinos do Motor1 no driver do motor L298n se conectam aos pinos do Arduino 2 e 3 (digital).
  • Motor2 conecta em 4 e 5

Módulo Bluetooth,
  • Tx para Arduino Rx
  • Rx para TX
  • VCC para 5V / VCC
  • Gnd para GND (Terrestre)

Bateria,

Usei bateria de 7,4V para os motores, que se conecta a entrada do driver do motor e Arduino VIN e pino de aterramento. É necessária uma conexão de aterramento comum.

Aí conectei a bateria em todas as coisas acesas. Quer dizer, eu não me enganei.





Etapa 6:Programação do Arduino


É um programa simples. O programa verifica os caracteres e, se forem recebidos, vai da esquerda para a direita etc. A lista é -
  • 'F' - Avançar
  • 'B' - Retroceder
  • 'L' - Esquerda
  • 'R' - Direito

O módulo Bluetooth está conectado na porta serial, então o Arduino está se comunicando por serial em 9600 bps.

Eu configurei a seção Eu defini os pinos e a taxa buad -
  void setup () {// inicializar o modo do pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT); // definir o comunicação serial rateSerial.begin (9600);}  

O in mainloop verificava os dados recebidos em série
  // verifica se o arduino está recebendo sinal ou não (Serial.available () ==0); val =Serial.read (); // lê o signalSerial.print (val);  

E então o código principal, baixe-o aqui. Colei o código inteiro abaixo -
  / **** Arduino Speech / voice Controlled robot **** por Ashraf Minhaj * mande um e-mail para [email protected]* tutorial- ashrafminhajfb.blogspot.com * /// Declare the arduino pinsint lm1 =4; // declara o 1º motor pinsint lm2 =5; int rm1 =2; // pinsint do motor direito rm2 =3; char val; void setup () {// initlize o modo do pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT ); // definir a taxa de comunicação serialSerial.begin (9600);} void loop () {// verificar se o Arduino está recebendo o sinal ou não (Serial.available () ==0); val =Serial.read (); // lê o sinal // Serial.print (val); / ********* Para movimento para a frente ********* / if (val =='F') {// Serial .println ("FORWARD"); digitalWrite (lm1, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW);} / ********* Para retrocesso ********* / else if (val =='B') {digitalWrite (lm2, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm1, LOW);} / ********* Right ********* / else if (val =='R') {digitalWrite (lm1, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm1, LOW);} / ********* Left ********* / else if (val =='L') {digitalWrite (lm2, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm2, LOW);} / ********* PARAR ********* / else {digitalWrite (lm1, LOW) ); digitalWrite (rm1, LOW); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW);} atraso (10);}  

Faça upload do código e crie o aplicativo.





Etapa 7:aplicativo para SPEECH to TEXT


Eu fiz o aplicativo usando o inventor de aplicativos do MIT. Você pode editar e personalizar este aplicativo de acordo com seus requisitos. Pegue o aia fie daqui.

Este aplicativo usa conectividade Bluetooth para controlar o robô. Para isso, precisei emparelhar o módulo Bluetooth HC05 com meu telefone. A senha padrão é 1234 ou 0000.

Este aplicativo usa o Google Speech to Text API para converter o que eu digo em forma de texto. Em seguida, torna a frase em minúsculas, é mais fácil processar dessa forma. E corresponde ao uso de instruções if else. Se o usuário disser 'encaminhar', envie ao Arduono a letra 'F' e ele avançará. É isso.

Crie e salve como arquivo APK, ou use o meu para instalá-lo em seu telefone.
discurso-controlado-robô-esquemático.fzz





Etapa 8:Power the Bot, Run App and Go!


Agora é só conectar a bateria e usar o aplicativo Android para brincar com seu novo robô!

Obrigado por ler. Confira meu projeto posterior -




Código

  • Snippet de código # 1
  • Snippet de código # 3
Snippet de código # 1 Texto simples
 void setup () {// inicializa o modo dos pinos pinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT); // definir a taxa de comunicação serial Serial.begin (9600);} 
Snippet de código # 3 Texto simples
 / **** Arduino Speech / voice Controlled robot *** * por Ashraf Minhaj * mande um e-mail para [email protected] * tutorial- ashrafminhajfb.blogspot.com * /// Declare the arduino pinsint lm1 =4; // declara o 1º motor pinsint lm2 =5; int rm1 =2; // pinsint do motor direito rm2 =3; char val; void setup () {// inicializa o modo dos pinos pinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT); // definir a taxa de comunicação serial Serial.begin (9600);} void loop () {// verificar se o Arduino está recebendo sinal ou não while (Serial.available () ==0); val =Serial.read (); // lê o sinal //Serial.print(val); / ********* Para movimento para a frente ********* / if (val =='F') {//Serial.println("FORWARD "); digitalWrite (lm1, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW); } / ********* Para retrocesso ********* / else if (val =='B') {digitalWrite (lm2, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm1, LOW); } / ********* Right ********* / else if (val =='R') {digitalWrite (lm1, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm1, LOW); } / ********* Left ********* / else if (val =='L') {digitalWrite (lm2, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm2, LOW); } / ********* PARAR ********* / else {digitalWrite (lm1, LOW); digitalWrite (rm1, LOW); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW); } atraso (10); } 
Github
https://github.com/ashraf-minhaj/speech-controlled-robothttps://github.com/ashraf-minhaj/speech-controlled-robot

Esquemas

discurso-controlado-robô-esquemático_hUoWKpapKe.fzz

Processo de manufatura

  1. Robô Raspberry Pi controlado por Bluetooth
  2. Construa seu robô de streaming de vídeo controlado pela Internet com Arduino e Raspberry Pi
  3. Núcleo IoT do Windows 10:robô controlado por fala
  4. Robô controlado por Wi-Fi usando Raspberry Pi
  5. Carro RC controlado por joystick
  6. Robô seguidor de linha
  7. Braço robótico controlado por Nunchuk (com Arduino)
  8. Braço do robô controlado por Ethernet
  9. MobBob:DIY Arduino Robot Controlado por Smartphone Android
  10. Robô de piano controlado por Arduino:PiBot