quarta-feira, 1 de agosto de 2018

Carrinho de Controle Bluetooth com Arduíno


Olá, nesse post vamos aprender a controlar um carrinho/robô Arduíno controlado via Bluetooth pelo nosso Smartphone.





Podemos utilizar o mesmo chassis que utilizamos para o nosso carro de controle remoto IR.
Se não tiver um cassis recomendo o da lista de material abaixo que é um bom começo para iniciantes.
Vamos a lista de materiais:

  • 1x Arduino Uno ou Nano;
  • 1x Ponte H dupla( L9110, L298n ou de transistores);
  • 1x Módulo Bluetooth HC05 ou HC06;
  • 1x Kit chassis + Motores dc com redução.
  • 1x cabo adaptador de bateria para Arduino.
  • Aplicativo utilizado : Arduino Bluetooth RC Car (Testado em sistema Android):.

Primeiramente vamos montar nosso chassis e a eletrônica sobre ele:

Após tudo organizado, iremos fazer as conecxões de acordo com a ponte H que estivermos utilizando, o esquema abaixo se refere a uma ponte H L298n, mas a única coisa que muda são as conexões dos motores, a princípio nada muda na programação:


*Caso utilize uma alimentação separada para o Arduíno e outra para os motores, devemos interligar os negativos.

Como podem ver no esquema, a bateria está alimentando o Arduíno e os motores por meio da ponte H nos pinos 12V e GND. O módulo Bluetooth está sendo alimentado pelo Arduíno pelos pinos 5V e GND. 
Os pinos TX e RX do Arduino são ligados ao RX e TX do módulo bluetooth ( TX do bluetooth no RX do Arduino e RX  do bluetooth no TX do Arduino), sempre "cruzado" para que a comunicação entre o Arduino e o módulo bluetooth aconteça.

Os pinos digitais 3, 9, 10 e 11 são responsáveis pelo controle das direções em conjunto com a ponte H. Devem ser conectados nas entradas IN1 a IN4 da ponte H conforme esquema e sequencia abaixo:

PINO 3 - IN2 da Ponte H
PINO 9 - IN1 da Ponte H
PINO 10 - IN3 da Ponte H
PINO 11 - IN4 da Ponte H

A ordem das ligações é importante para o chaveamento correto dos transistores da ponte H, para que haja o controle e reversão corretos de acordo com o nosso código. 
Você poderá mudar depois que entender o funcionamento e deixar de acordo com o que julgar melhor.
Você pode visitar esse post para entender o funcionamento da ponte H.

Após feito as conexões, iremos para o nosso programa. Para isso é necessário que você possua a IDE do Arduino instalada em sua máquina.

Segue o programa no Dropbox no link abaixo:


Após copiar o programa para sua IDE, vamos selecionar o tipo de arduino e a respectiva porta COM.
Vamos primeiro verificar a programação se não possui nenhum erro e em seguida gravar o programa no arduino.

Chegou a hora do teste!

Para conectar seu celular ao módulo bluetooth, será necessário primeiramente fazer o pareamento.
Ative o bluetooth do celular, ligue a eletrônica do carrinho e certifique-se de que o módulo bluetooth está piscando aguardando conexão. Busque na lista de dispositivos encontrados o módulo. A senha de pareamento geralmente é 1234. O módulo bluetooth irá parar de piscar ao estabelecer conexão com o celular.
Após o pareamento concluído, vamos abrir o aplicativo Arduino Bluetooth RC Car, para conectar ao nosso carrinho.

A tela inicial do aplicativo possui vários botões que podemos utilizar para programar nosso carrinho.
Na nossa programação utilizei somente os direcionais e um para acionar qualquer coisa, pode ser um farol ou uma buzina.
Para realizar a conexão com o nosso carrinho, a eletrônica deve estar ligada e o smartphone pareado com o módulo bluetooth.
Primeiramente clicamos no ícone da engrenagem abaixo: 


Selecionamos a opção "Connect to a car":


 Escolhemos na lista o nome referente ao módulo bluetooth (HC-06 ou HC-05 ou qualquer nome programado ao módulo):



Pronto, o símbolo que estava vermelho no canto superior esquerdo agora ficará verde indicando que a conexão foi estabelecida.
Agora podemos testar as direções utilizando as teclas direcionais.
Caso a direção do seu carrinho não esteja correspondendo ao do aplicativo, reveja as ligações e se a ponte H utilizada é do mesmo tipo.



Caso não esteja conseguindo conexão tente algum desses passos:
  • Verifique se o módulo está ligado;
  • Verifique se o pareamento foi realizado com sucesso;
  • Revise novamente se as conexões (TX/RX) estão cruzadas;
  • Talvez seja necessário uma configuração do módulo Bluetooth por meio de códigos AT para modificar baudrate, etc.
Você pode editar o programa para adicionar mais funções, o aplicativo do celular possui no menu "Settings" a lista de comandos enviados ao módulo Bluetooth, assim você pode escolher o comando e utilizar como quiser no seu código. Segue a lista de comandos no aplicativo:


Por exemplo, quando o aplicativo envia o comando "F", o nosso programa o interpreta na função IF e envia o respectivo comando para a ponte H mover o carro para frente:

 // Se o estado recebido for igual a 'F', o robo se movimenta para frente.
  if (state == 'F') {
    analogWrite(motorB1, vSpeed);
    analogWrite(motorA1, vSpeed);
    analogWrite(motorA2, 0);
    analogWrite(motorB2, 0);
 }

Agora que sabe como modificar o programa, aproveite para adicionar atuadores como farol, buzina, etc.

Espero que tenham gostado deste post. Muito obrigado e até o próximo!

Se inscrevam no meu canal do youtube!  https://youtu.be/4so6ZdPtz4w
Obrigado



6 comentários:

  1. Alguem me ajuda, meu multimetro mede 600mha com meu motor sem nenhuma resistencia, ao andar no chão mede 1,5a e ao segurar o motor bate os 7a, essa ponte h é uma boa escolha para mim ?

    ResponderExcluir
  2. Mandou bem!! Ajudou muito na realização do projeto, conteúdo de fácil entendimento!
    Obrigado.

    ResponderExcluir
  3. Utilizei uma arduino mega 2560, e o carrinho não responde aos comandos, pode ser por causa do arduino?

    ResponderExcluir
  4. Porque no código ta analogWrite ?

    ResponderExcluir