LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: Pedroware em 22 de Outubro de 2014, 21:53
-
Boa noite,
Estou a pensar fazer fazer um carro e conduzir com o Telemovel via Bluetooh . Arduino + Shied Bluettoh
Material que tenho disponivel está nas fotos em anexo, qual aconselho usar ?
Desde de já muito obrigado pela paciençia :)
-
Basie-me este tutorial : http://labdegaragem.com/profiles/blogs/tutorial-controlando-plataforma-robotica-atraves-de-aplicativo-an (http://labdegaragem.com/profiles/blogs/tutorial-controlando-plataforma-robotica-atraves-de-aplicativo-an)
Consigo conectar me ao Shied Bluetooth :)
Mas ao tentar passar o programa para o arduino dá o seguinte erro, segue em anexo .
-
Erro corrigido, Porta COM mal .
Bluetooth Conetado :)
Leitora na Serial Correcta :)
Mas sem motimento no carro :/
-
Alguma ideia do que posso estar mal?
-
Alguma ideia do que posso estar mal?
Tenta utilizar a versão 1.0.5 R2
-
Alguma ideia do que posso estar mal?
Sim: Não deste esquema de ligações, não mostraste código, não explicaste que hardware estás a usar e não disseste que partes é que estão a funcionar e quais é que estão a dar problema.
O que está mal é que não somos adivinhos ;)
-
Boas,
Eu proponho uma compra colectiva de forma a equipar o fórum com uma coisa destas: ;)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fesoterismos.com%2Fwp-content%2Fuploads%2F2010%2F09%2Fcrystal_ball_thumb.jpg&hash=5536177398f56e1cf8aa25e6d7fd501a1b6adb72)
-
Codigo :
#include <SoftwareSerial.h> //Inlcui a biblioteca SoftwareSerial.h
#include <DualMotor.h> //Inclui a biblioteca DualMotor.h
#define RxD 3 //Define RxD como 3
#define TxD 2 //Define TxD como 2
DualMotor dualmotor; //Instância a DualMotor.h
SoftwareSerial blueToothSerial(RxD,TxD); //Instância a biblioteca SoftwareSerial.h
void setup()
{
parear_dispositivo(); //Executa a função para parear o dispositivo
}
void loop()
{
char letra; //Variável char para armazenar o caractere recebido
if(blueToothSerial.available()) //Se algo for recebido pela serial do módulo bluetooth
{
letra = blueToothSerial.read(); //Armazena o caractere recebido na variável letra
if(letra == 'F') //Se o caractere recebido for a letra 'F'
{
//Move o carrinho para frente
dualmotor.M1move(255,1);
dualmotor.M2move(255,1);
//==================
}
else if (letra == 'B') //Se o caractere recebido for a letra 'B'
{
//Move o carrinho para trás
dualmotor.M1move(255,0);
dualmotor.M2move(255,0);
//==================
}
else if(letra == 'R') //Se o caractere recebido for a letra 'R'
{
//Move o carrinho para direita
dualmotor.M1move(255,1);
dualmotor.M2parar();
//==================
}
else if (letra == 'L') //Se o caractere recebido for a letra 'L'
{
//Move o carrinho para esquerda
dualmotor.M1parar();
dualmotor.M2move(255,1);
//==================
}
else if(letra == 'S') //Se o caractere recebido for a letra 'S'
{
//Para o carrinho
dualmotor.M1parar();
dualmotor.M2parar();
//==================
}
}
}
void parear_dispositivo()
{
blueToothSerial.begin(38400); // Configura o baud rate do bluetooth como 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n"); // Configura o módulo bluetooth para trabalhar como slave
blueToothSerial.print("\r\n+STNA=SeedBTShield\r\n"); // Configura o nome do disopsitivo bluetooth
blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permite que outros dispositivos encontrem o módulo bluetooth
blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Desabilita a auto conexão
delay(2000); // Aguarda 2 segundos
blueToothSerial.print("\r\n+INQ=1\r\n"); // Habilita modo de paridade
delay(2000); // Aguarda 2 segundos
blueToothSerial.flush(); // Dá um flush na serial do módulo bluetooth
}
Esquema :
-
Que motor shield é esse ?
Podes mostrar um link para o shield, podes alimentar assim directo com uma pilha de 9V ?
-
Que motor shield é esse ?
Podes mostrar um link para o shield, podes alimentar assim directo com uma pilha de 9V ?
Ora cá esta : http://www.ptrobotics.com/motor/1853-2a-motor-shield-for-arduino.html (http://www.ptrobotics.com/motor/1853-2a-motor-shield-for-arduino.html)
-
Tens de começar por passos, em vez de montar tudo e esperar que funcione à primeira (o que nunca acontece).
Recomendo no mínimo 2 passos:
1º fazer um programa simples para por os motores a rodar, algo do género andar para a frente durante 2 segundo, rodar à direita 2 segundos, andar para trás 2 segundos, rodar à esqueda 2 segundos e volta ao inicio. Algo simples só com os comandos para os motores e delays dentro do loop.
Permite-te saber se tens os motores bem ligados, se o shield esta em bom estado e a pilha chega para alimentar os motores, e se as rotinas de controlo do motor estão bem programadas.
2º testar a ligação bluetooth. Depois de emparelhar, enviar os dados recebidos por bluetooth para a porta serie (usb) do arduino e confirmar se estão a chegar no terminal. Permite confirmar se a parte bluetooth realmente emparelhou, se o software do lado do master bluetooth está a enviar os carateres corretos.
Depois desses 2 passos cumpridos e funcionais, podes começar a fazer a integração que será semelhante ao que já tens, mas com mais certezas de que os componentes estão a funcionar.