quinta-feira, 15 de setembro de 2016

Tutorial robo comandado por voz com arduino^^

Mais um tutorial de um robozim acionado por comando de voz (ué de novo?kkkkkkkkkk) Sim, mas dessa vez uso um chassy específico para isso, pois os resultados com carrinho ficam bons mas não ficam lahhh essas coisas se é que me entende. Então resolvi comprar um kit chassy como este aqui



Então pessoal é sem grilos, pelo menos o que eu comprei veio com o motorzim cru, então voce tem que colocar uma soldinha nos fios.
também tem a adaptação do bluetooth, em vez de shield preferi usar o modulo mesmo, que usa menos energia e por isso sua autonomia é bem maior.
Primeiro compile o codigo:
---------------
#include <SoftwareSerial.h>

SoftwareSerial bt(0,1); // RX  TX o tx vai conectado ao 6 e só

int in1 =4;
int in2 =5;
int in3= 6;
int in4=7;
int caractere;

void setup() {
 bt.begin(9600);
 pinMode(in1,OUTPUT);
 pinMode(in2,OUTPUT);
 pinMode(in3,OUTPUT);
 pinMode(in4,OUTPUT);
}

void loop() {
  
 if (bt.available()) {
 caractere = bt.read();
 if(caractere == 'f') {
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 delay(500);
 digitalWrite(in1,LOW);
 digitalWrite(in2,LOW);
 bt.println("OK, led ligado.");
 }
 if (caractere == 'b') {
 digitalWrite(in2,HIGH);
 digitalWrite(in1,LOW);
 delay(500);
 digitalWrite(in1,LOW);
 digitalWrite(in2,LOW);
 bt.println("OK, led desligado.");
 }
 if (caractere =='c'){
  digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in1,LOW);
 delay(1000);
 digitalWrite(in1,LOW);
 digitalWrite(in2,LOW);
 digitalWrite(in3,LOW);
 digitalWrite(in4,LOW);

   bt.println("OK,led1 desligado.");
 }
 if (caractere =='d'){
    digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in1,HIGH);
 delay(1000);
 digitalWrite(in1,LOW);
 digitalWrite(in2,LOW);
 digitalWrite(in3,LOW);
 digitalWrite(in4,LOW);
  bt.println("OK,led1 ligado.");
 }
 if(caractere == 'e') {
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
 delay(500);
 digitalWrite(in3,LOW);
 digitalWrite(in4,LOW);
 bt.println("OK, led ligado.");
 }
 if (caractere == 'a') {
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 delay(500);
 digitalWrite(in3,LOW);
 digitalWrite(in4,LOW);
 }
 delay(100);
}
 }
--------------------
Depois baixe o meu aplicativo aqui
A cara do meu aplicativo é exatamente esta:


Os comandos de voz que usei nele são os seguintes:
sobe // o carro vai pra frente
baixo // o carro vai pra tras
esquerda alta // o carro gira pra frente a roda esquerda
esquerda baixa // o carro gira pra tras a roda esquerda
lado // o carro gira pra frente a roda direita
lado baixo // o carro gira pra tras a roda direita

O esquema eletrico dele é descrito conforme a imagem:

E eis aqui o vídeo dele funcionando:



Nenhum comentário: