Como fazer um robô por controle remoto bluetooth usando seu celular
No tutorial de hoje vamos aprender como montar as peças básicas de um robô (controlador e servo motores) e controlar tudo por bluetooth utilizando um aplicativo Android no seu smartphone.
Pra começar, vamos ver a lista de materiais necessários:
- Uma placa baseada em Arduino (nova placa ECO-BOT, Arduino Uno, Arduino Duemilanove, Freeduino…)
- Dois servo motores de rotação contínua (podem ser queles de antena parabólica, mas atenção: tem que ter rotação contínua!)
- Módulo ou shield de comunicação bluetooth (necessário para ter o controle remoto)
- Smartphone Android com suporte a bluetooth (necessário para ter o controle remoto)
- Jumpers/fios para fazer as ligações
- Placa de prototipagem eletrônica ou breadboard ou protoboard, como muitos chamam (opcional para facilitar as coisas)
O resto, como a organização das peças e a decoração da carcaça do robô, fica por conta da sua criatividade!
Depois que estiver com todas as peças em mãos (elas podem ser adquiridas facilmente em bairros comerciais ou na internet por um preço bastante acessível), você deverá enviar para sua placa o seguinte código:
VEJA TAMBÉM: Socorro: o que é a IDE do Arduino?!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | // Universidade Federal do Rio Grande do Norte // Projeto Um Robô por Aluno // ECO-BOT por Controle Remoto // Victor Paiva Torres <vpaivatores@gmail.com> // 19 de outubro de 2013 #define SERVO_ESQUERDO 7 #define SERVO_DIREITO 5 #define FRENTE 0 #define TRAS 180 #include Servo servoEsquerdo; Servo servoDireito; void servoAttach() { servoEsquerdo.attach(SERVO_ESQUERDO); servoDireito.attach(SERVO_DIREITO); } void frente() { servoAttach(); servoEsquerdo.write(FRENTE); servoDireito.write(TRAS); } void tras() { servoAttach(); servoEsquerdo.write(TRAS); servoDireito.write(FRENTE); } void esquerda() { servoAttach(); servoEsquerdo.write(FRENTE); servoDireito.write(FRENTE); } void direita() { servoAttach(); servoEsquerdo.write(TRAS); servoDireito.write(TRAS); } void parar() { servoEsquerdo.detach(); servoDireito.detach(); } void setup() { Serial.begin(9600); } char option = 'p'; void loop() { delay(100); if(Serial.available()) { option = Serial.read(); Serial.println(option); } switch(option) { case 'f': frente(); break; case 't': tras(); break; case 'e': esquerda(); break; case 'd': direita(); break; case 'p': parar(); break; default: break; } } |
Esse código é quem vai controlar as ações do seu robô depois de montado. Mas onde ligar tudo isso? Basta fazer da seguinte maneira (clique na imagem para ampliar):
Seguindo o esquema acima não há mistério. Nos servo motores e no módulo bluetooth, ground/GND/negativo e VCC/Vin/positivo são ligados nos seus respectivos pinos na placa. O servo direito deverá ser ligado no pino 5 da placa e o servo da esquerda no pino 7. No seu módulo bluetooth, o RX você liga no TX da placa (geralmente o pino 1) e o TX você liga no RX da placa (geralmente o pino 0). Do jeito que está deverá funcionar tudo bem.
Aproveite para montar uma estrutura bem legal e robusta pro seu robô. Que tal adicionar uma pintura e algumas rodas? Uma sugestão é ele se parecer com isto:
Experimente descobrir como as rodas funcionam e se movimentam de acordo com a função selecionada.
Pronto para testar e ver se está tudo funcionando? Se você não tiver o módulo bluetooth ou o celular Android para fazer o controle remoto, pode testar utilizando o monitor serial da própria IDE do Arduino. É só teclar Ctrl + Shift + M enquanto a interface estiver aberta. Lembre-se de configurar o baud rate (taxa de transmissão) para 9600, que é o mesmo valor configurado no nosso programa e que é suportado pelo módulo bluetooth. Depois de aberto, envie comandos como f, que significa frente, d, que significa direita, t, que significa trás, e, que significa esquerda e p, que significa parar.
Pra testar com o bluetooth, certifique-se de ter instalado corretamente o módulo e de ter um celular Android com essa capacidade. Clique aqui para acessar o Google Play e baixar o aplicativo ou busque por ECO-BOT na loja de aplicativos da Google direto do seu smartphone. A instalação também é fácil. Você ativa o blutooth do aparelho, busca por dispositivos novos e quando encontrar um com o nome URA ou do módulo bluetooth que você comprou é só sincronizar. A senha geralmente é 1234. Abra o aplicativo e peça pra conectar. Ele vai perguntar qual dos dispositivos disponíveis é o do seu robô. Você seleciona e já está funcionando o controle remoto!
Teste tudo direitinho. Se algo der errado, veja se não pulou nenhum passo, se nenhuma peça ou componente está solto ou faltando e se não comprou nenhuma coisa errada. Qualquer dúvida é só deixar um comentário ou entrar em contato pelo e-mail do projeto URA.
Até a próxima!
[…] Em breve estará disponível o tutorial para montar o seu próprio robô e controlá-lo via bluetooth com seu smartphone Android. Dica: é bem fácil de fazer! ATUALIZAÇÃO: já temos uma versão desse tutorial. Confira clicando aqui. […]
[…] VEJA TAMBÉM: Como criar um robô como o do vídeo em casa! […]
Eu tenho q comprar tudo q ta ali pra comprar
Olá boa noite, teria a possibilidade de disponibilizar o código fonte do programa ? Obrigado e meus parabéns pela criatividade, fiquem todos com Deus,
queria saber como faço a ligação de todo esse sistema numa bateria , ? por favor me ajude estou interessado em fazer ‘ obrigado ,,
Gente preciso de ajuda… Estou montando um robô e que utilizar o android pra os comandos que são bem simples, frente, trás, esquerda, direita. Por favor vocês poderiam me dar algumas dicas? Agradeço. Ah, ótimo tutorial, já me ajudou muuito!
Boa tarde gostaria de saber qual o modelo do Módulo ou shield de comunicação bluetooth???????
NAO funciona esta dado erro .
que poderia ser ?
// Universidade Federal do Rio Grande do Norte
// Projeto Um Robô por Aluno
// ECO-BOT por Controle Remoto
// Victor Paiva Torres
// 19 de outubro de 2013
#define SERVO_ESQUERDO 7
#define SERVO_DIREITO 5
#define FRENTE 0
#define TRAS 180
#include
Servo servoEsquerdo;
Servo servoDireito;
void servoAttach()
{
servoEsquerdo.attach(SERVO_ESQUERDO);
servoDireito.attach(SERVO_DIREITO);
}
void frente()
{
servoAttach();
servoEsquerdo.write(FRENTE);
servoDireito.write(TRAS);
}
void tras()
{
servoAttach();
servoEsquerdo.write(TRAS);
servoDireito.write(FRENTE);
}
void esquerda()
{
servoAttach();
servoEsquerdo.write(FRENTE);
servoDireito.write(FRENTE);
}
void direita()
{
servoAttach();
servoEsquerdo.write(TRAS);
servoDireito.write(TRAS);
}
void parar()
{
servoEsquerdo.detach();
servoDireito.detach();
}
void setup()
{
Serial.begin(9600);
}
char option = ‘p’;
void loop()
{
delay(100);
if(Serial.available())
{
option = Serial.read();
Serial.println(option);
}
switch(option)
{
case ‘f’:
frente();
break;
case ‘t’:
tras();
break;
case ‘e’:
esquerda();
break;
case ‘d’:
direita();
break;
case ‘p’:
parar();
break;
default:
break;
}
}
Bom dia
Gostaria de saber quanto ao código de seu projeto
Universidade Federal do Rio Grande do Norte
Projeto Um Robô por Aluno
ECO-BOT por Controle Remoto
http://www.natalnet.br/ura/?p=421
Por que não tem o # include
#define SERVO_ESQUERDO 7
#define SERVO_DIREITO 5
#define FRENTE 0
#define TRAS 180
#include
Servo servoEsquerdo;
Servo servoDireito;
E se colocar # include deve ser antes do
#define SERVO_ESQUERDO 7
#define SERVO_DIREITO 5
ou deve ser na posição onde ele está mesmo?
Grato a ajuda.
Não estou conseguindo fazer o robô operar eu tenho todas as peças e fiz o upload pro meu arduino inclui a biblioteca Servo.h e mesmo assim não consigo fazer o robo operar nem mesmo no teclar Ctrl + Shift + M, não sei se o problema está no código.
Olá, gostaria de saber como ligar a energia nos motores?
Olá,
estou tendo problemas em compilar esse e outros códigos de controle de servo com bluetooth, a mensagem de erro que vem essa aqui:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Podem ajudar?
Olá, Renan.
Qual versão do Arduino, Arduino IDE e qual sistema operacional você está utilizando?
Verifique se ele está conectado corretamente ao seu computador. Você consegue compilar algum outro código diferente do projeto URA?
Olá, não estou conseguindo copilar este código, teria algum outro com as mesmas funções?
E a caixa de pilha onde eu ligo os fios? socorroooooo
Boa Tarde,
Estou tendo problemas ao compilar o código acima. Está dando erro nas linhas 13, 15 e 16.
“#include expects “FILENAME” or ” e
” ´Servo´ does not name a type”
Contudo, lendo este artigo não encontrei nenhum outro arquivo de código que define o tipo ´Servo´
Vocês poderiam me ajudar? Pois, se trata de um projeto para a escola.
Muito Obrigado.
Porque esta dando erro no #include ?
Olá,
O “Módulo ou shield de comunicação bluetooth (necessário para ter o controle remoto)” pode ser o “Módulo Bluetooth Serial Rs232 Hc-05 – Arduino Pic Avr Shield”?