blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Montagem do Chassi
  • Montagem dos componentes
  • Fazendo a conexão do Bluetooth
  • Conectando o Bluetooth
  • Sobre o Autor
Projetos

Robô com Controle Remoto via APP Android

Eletrogate 10 de janeiro de 2020Atualizado em: 15 abr 20229 min

Introdução

Hoje vamos fazer um projeto muito legal e simples, mas extraordinário para quem vê funcionando: Um Carrinho de Controle Remoto, onde o controle é o seu celular Android! O projeto é totalmente customizável de forma que você poderá implementar da forma que você achar melhor. Então mãos à obra!

 

 

 

Para fazer esse projeto iremos precisar de:

    • 1 Arduino Uno R3 + Cabo USB (é possível implementar com outros modelos)
    • 1 Módulo Bluetooth HC-06
    • 1 Módulo Ponte H Dupla L298N
    • 1 Mini Protoboard 170 pontos
    • 1 Chassi 2WD em acrílico
    • 2 Motores DC 3V – 6V com caixa de redução
    • 2 rodas 68mm de borracha
    • 1 roda boba (universal)
    • 1 Suporte para 4 pilhas AA
    • 1 Jogo de parafusos e acessórios
    • 20 jumpers macho-fêmea
    • 20 jumpers macho-macho
    • 1 Resistor 330R
    • 1 Resistor 22K
    • 1 Resistor 10K
    • 1 Adaptador de bateria 9V
    • 1 LED Difuso 5mm (qualquer cor)
    • 1 Chave Gangorra On/Off
    • 4 Pilhas Alcalinas AA
    • 1 Bateria Alcalina 9V

 


Montagem do Chassi

Se você não comprou os componentes separados, e optou por comprar um kit chassi 2WD como esse (link), você se deparou com esses componentes:

 

O primeiro passo que faremos será soldar fios aos terminais do motor. Para isso, vamos soltar o motor de sua caixa de redução, removendo a alça que une os dois. Após isso, retire-o e faça a ligação de fios aos terminais do motor com solda, e também, é recomendado passar um pouco de cola quente em cima da solda para evitar algum curto ou contato indesejado.

Essas peças auxiliares são, na verdade, suportes que prendem o motor ao carrinho. Colocaremos ele da seguinte forma:

1° – Encaixe dois suportes às fendas internas.

2° – Coloque o motor com seus furos alinhados ao furo do suporte.

3° – Encaixe o suporte externo com os furos alinhados e parafuse com a porca.

É interessante observar que devemos colocar o eixo do motor virado para a extremidade do chassi onde tem um círculo vazado no acrílico. Fazendo para os dois lados, e encaixando a roda no eixo do motor, o resultado obtido deverá ser este:

 

     

O próximo passo será a instalação da roda boba, e para isso precisaremos das seguintes peças:

Começaremos parafusando o extensor à roda boba, e depois parafusando o extensor ao chassi do carrinho, da seguinte forma: 

 

   

 

E colocamos também o disco encoder na roda. Porém, neste tutorial ele não terá utilidade, então fica a critério do leitor usar ou não. Com isso, quase concluímos a montagem do chassi. Só falta, para concluir, instalar a chave on/off no fio de alimentação do suporte de pilhas: com isso iremos poder ligar e desligar o carrinho de maneira mais prática. É altamente recomendado passar cola quente nos terminais soldados, para evitar o curto entre os terminais e também poder ter maior resistência mecânica em caso de uma tração acidental.


Montagem dos componentes

Para fazer o acionamento dos motores, precisaremos de algo que consiga fornecer energia o suficiente para isso, e que possa ser controlado. Para isso iremos usar um driver ponte H L298N. A principal vantagem de se usar um módulo destes é que ele permite que a gente possa controlar o motor nas duas direções.

O módulo ponte H usado é desta forma:

Imagem retirada do site da Sala Maker

 

Onde iremos, inicialmente, fazer as conexões dos motores A e B. A priori não precisamos preocupar com qual fio vai em qual motor, basta afrouxar o parafuso do borne, conectar o fio e apertar o parafuso. A montagem ficou da seguinte forma:

 

Perceba que que há um parafuso no módulo ponte H. Esse parafuso está ligado com uma arruela ao chassi, isso fará com que possamos dispensar o uso de colas e o deixar bem fixo. Com a ponte H instalada e os motores conectados, faremos a instalação do suporte de pilhas. Colocamos uma dupla face nas costas do suporte e então ele foi fixado na parte debaixo do chassi, da seguinte forma:

Iremos conectar os fios de alimentação na ponte H. Vamos colocar o fio vermelho, que sai do suporte de pilhas, no borne VCC do módulo ponte H, e o preto do suporte de pilhas no borne de GND. Para consultar essas informações, basta ver a imagem da ponte H um pouco mais acima, neste post. Para ajudar, ainda nesta etapa das conexões, é recomendado colocar um jumper (fio) dentro do borne de GND, junto com o fio preto do suporte de energia. A ligação ficou assim:

Esse jumper é para ser usado futuramente, sendo colocado na porta GND do Arduino. Agora só está faltando uma bateria, para fornecer energia ao Arduino. Essa alimentação separada foi escolhida porque as 4 pilhas possuem uma disponibilidade de corrente elétrica um pouco baixa, e ligando todo o circuito no suporte, ele não consegue fornecer energia, e os motores acabam ficando parado.

Colocamos uma fita dupla face na bateria também, e instalamos ela exatamente embaixo (no chassi) do módulo ponte H. O resultado foi este:

   

Então até o momento nosso carrinho está assim, certo? Se não, revise alguns passos anteriores:

Para melhorar um pouco a estética e facilitar o uso, instalamos a chave on/off bem na frente do carrinho, e colamos com cola quente. Para isso precisamos estender um pouco mais o fio.

 

 

Então, agora, para termos um carrinho já funcional só falta colocar na montagem a placa do Arduino e fazer corretamente as ligações. A conexão com o Arduino pode ser feita da seguinte forma:

Colocando a placa na parte central. As conexões da ponte H com o Arduino serão feitas da seguinte forma:

Observações: 

  • É extremamente importante que os GND estejam ligados juntos, isso significa que temos que ligar o GND da ponte H com o GND do Arduino. (Estamos fazendo isso com o jumper que foi colocado junto com o GND da bateria no borne da ponte H. Esse GND foi ligado na porta GND do arduino).
  • Ao colocar o cabo USB para carregar o programa ou monitorar algo, remova a alimentação da bateria de 9V.

Fazendo a conexão do Bluetooth

Usaremos o módulo Bluetooth HC-06 para fazer a conexão com o celular. A montagem final, com o Bluetooth será dessa forma:

Foi feito um divisor resistivo para reduzir a tensão no pino RX do módulo Bluetooth, porque ele só aceita 3,3V. Então, estamos usando um resistor de 10K e outro de 22K, o que vai fazer ter aproximadamente 3V, mas ainda na margem de funcionamento. 

Foi colocado um LED de indicação, para que quando o Bluetooth estiver conectado, podermos ter uma indicação visual de que está tudo funcionando. Para o LED, pode ser usado um resistor de 330R e ele pode ser de qualquer cor.

 

A montagem final ficou assim:

 

O código utilizado no arduino

#define in1 6 // Entrada do motor 1
#define in2 5 // Entrada do motor 1
#define in3 11 // Entrada do motor 2
#define in4 10 // Entrada do motor 2


int dataIn[5] {0,0,0,0}; // Vetor dos dados completos que receberemos do aplicativo
int in_byte = 0; // A informação em bytes que estamos recebendo a cada momento do aplicativo
int array_index = 0; // Indice do vetor 
int X, Y, button, velMotor; // As coordenadas em X, Y, o botão (que não estamos usando ainda) e a variavel de velocidade
unsigned long time1; // Variavel auxiliar para guardar tempo

void setup() {
Serial.begin(9600);  
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(2, OUTPUT); // Definindo o pino do led
}

void loop() {
  if (Serial.available() > 0) { // Verificando se há dados para receber do bluetooth.
    time1 = millis(); // A variavel time1 salva o tempo em que o bluetooth enviou dados da ultima vez
    digitalWrite(2, HIGH); // ativa o led de indicação que a conexão está ativa
    in_byte = Serial.read();  // Recebendo um byte do app
    if (in_byte == (255))  // Verifica se é o byte de encerramento do dado
      array_index = 0;
    dataIn[array_index] = in_byte;   //Salvando o dado no vetor de indices
    array_index = array_index +1; 
  }
  else{
    if((millis() - time1)>500) // Compara se passaram mais que 0,5s desde a ultima vez que o bluetooth estava disponivel
      digitalWrite(2, LOW); // Se passou, significa que a conexão foi perdida, e o LED desliga
  }
    

    
  X = dataIn[2]-124; // Calculando o valor do eixo X do Joystick
  Y = 124-dataIn[3]; //Calculando o valor do eixo X do Joystick
  button = dataIn[1]; // Recebe o estado do botão, mas não usaremos
  
  velMotor = Y*2; // Calculo da velocidade do motor para fazer o acionamento PWM
  
  //----------- Para frente ---------------//

  if((Y>1)){ // Carrinho para frente
    analogWrite(in1, velMotor); 
    digitalWrite(in2, LOW);
    analogWrite(in3, velMotor);
    digitalWrite(in4, LOW);
  }
  //--------------------------------------//
  
  //----------- Para tras ---------------//

  else if (Y<(-1)){ // Carrinho para trás
    analogWrite(in2, -1*velMotor);
    digitalWrite(in1, LOW);
    analogWrite(in4, -1*velMotor);
    digitalWrite(in3, LOW);
  }
 //-------------------------------------------//

// ------------ Carrinho parado -------------//

  else {
    digitalWrite(in1, LOW); 
    digitalWrite(in2, LOW);
    digitalWrite(in3, LOW);
    digitalWrite(in4, LOW);
  }
  //---------------------------------------//
  
  //------------- Para os lados --------------//
  if(X < -34 ){ // Limite para começar a virar para a esquerda
    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);
  }
  else if (X > 34){ // Limite para começar a virar para a direita.
    digitalWrite(in3, LOW);
    digitalWrite(in4, LOW);
  }
}

Conectando o Bluetooth

Para fazer a conexão com o celular, criamos um aplicativo Android e disponibilizamos ele para ser instalado em celulares Android, e servirá como controle remoto para o carrinho. Para baixar o aplicativo, clique aqui.

Com o aplicativo baixado, clique no arquivo joystick_app2.apk e uma tela similar a esta abaixo pode ser que apareça. Se caso não aparecer, pode seguir a instalação normalmente.

Se aparecer, vá na opção “Configurações” e deixe selecionado “Permitir desta fonte”, e pode voltar.

Voltando, uma tela similar como a mostrada abaixo deverá aparecer, e você deverá apertar em “Instalar”. Caso se não aparecer, abra o arquivo joystick_app2.apk novamente e aperte em instalar. 

Com o aplicativo instalado, ligue o bluetooth do seu smartphone, volte ao aplicativo e aperte em “conectar”. Ligue também o alimentação do arduino na bateria de 9V. 

Os LEDs do Arduino e do Bluetooth devem ligar nesse momento. (Ainda não é necessário apertar a chave gangorra que instalamos para energizar a ponte H com as 4 pilhas, só ligue depois que a conexão Bluetooth estiver estabelecida). 

 

Conecte ao Bluetooth que tem HC-06 no final.

Observe que mostrará que está conectado ao carrinho, e o LED de indicação, do carrinho, se ligará. Agora basta só mexer o círculo azul para frente e para trás que o seu carrinho irá mexer. 

Os comandos funcionam da seguinte forma:

Para frente indica aceleração do carrinho, e os lados indicam a direção de rotação.  Se o comando do aplicativo não funcionam como deveria, por exemplo: O comando de ir pra frente faz o carrinho girar, ou ir para trás. Uma maneira fácil de solucionar é inverter os fios do motor com comportamento estranho no módulo Ponte H.

Boa diversão!

 

Se gostar ou tiver alguma dúvida, deixe um comentário!


Sobre o Autor


Gustavo Nery

Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.


Eletrogate

10 de janeiro de 2020 Atualizado em: 15 abr 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.