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: 01 dez 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:

    • 1x Arduino Uno R3 + Cabo USB
    • 1x Módulo Bluetooth RS232 HC-06
    • 1x Módulo Ponte H Dupla L298N
    • 1x Mini Protoboard 170 pontos
    • 1x Chassi 2WD (2 rodas) Robô para Arduino
    • 1x Motores DC 3V – 6V com Caixa de Redução e Eixo Duplo
    • 2x Rodas 68mm para Chassi Robo Robótica
    • 1x Roda Boba – Rodízio Giratório
    • 1x Suporte para 4 pilhas AA
    • 1x Jogo de parafusos e acessórios
    • 1x Jumpers macho-fêmea 20 cm
    • 1x Jumpers macho-macho 20 cm
    • 1x Resistor 330R 1/4W (10 Unidades)
    • 1x Resistor 22K 1/4W (10 Unidades)
    • 1x Resistor 10K 1/4W (10 Unidades)
    • 1x Adaptador de bateria 9V
    • 1x LED Difuso verde 5mm
    • 1X Mini Chave Gangorra 2 Terminais
    • 4x Pilhas Alcalinas AA
    • 1x Bateria Alcalina 9V

cta_cart


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. Caso seja baixado um arquivo cujo nome termine em .zip, “joystick_app2.apk.zip”, renomeie-o para “joystick_app2.apk”.

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!

Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!


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: 01 dez 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.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Projetos

Utilizando Sensores I₂C com o Mesmo Endereço

Eletrogate26 de setembro de 2023

No post de hoje, nós aprenderemos a usar dois sensores I₂C com o mesmo endereço, utilizando o CI Demultiplexador CD4051.

Projetos

Utilizando Sensores I₂C com o Mesmo Endereço

Eletrogate26 de setembro de 2023

No post de hoje, nós aprenderemos a usar dois sensores I₂C com o mesmo endereço, utilizando o CI Demultiplexador CD4051.

Projetos

Jogo da Velha na TV!

Eletrogate19 de setembro de 2023

Este é um jogo de quebra-cabeça para dois jogadores, identificados como “X” e “O”, que se revezam marcando os espaços em uma área 3 × 3.
Alguma vez na vida você já deve ter jogado este clássico jogo conhecido como Jogo-da-Velha ou Tic-Tac-Toe.

Neste post, você vai aprender a montar e programar uma versão digital deste jogo, com saída de imagem para TV, utilizando apenas alguns componentes eletrônicos básicos, uma placa Arduino UNO e um Teclado Matricial de 16 teclas.

Projetos

Jogo da Velha na TV!

Eletrogate19 de setembro de 2023

Este é um jogo de quebra-cabeça para dois jogadores, identificados como “X” e “O”, que se revezam marcando os espaços em uma área 3 × 3.
Alguma vez na vida você já deve ter jogado este clássico jogo conhecido como Jogo-da-Velha ou Tic-Tac-Toe.

Neste post, você vai aprender a montar e programar uma versão digital deste jogo, com saída de imagem para TV, utilizando apenas alguns componentes eletrônicos básicos, uma placa Arduino UNO e um Teclado Matricial de 16 teclas.

IoT

LittleFS: Alto Desempenho para RP Pico, ESP32 e ESP8266

Eletrogate12 de setembro de 2023

Aprenda neste post, a usar o sistema de arquivos LittleFS, que possui mais desempenho do que o sistema SPIFFS, nas placas Raspberry Pi Pico, ESP32 e ESP8266.

IoT

LittleFS: Alto Desempenho para RP Pico, ESP32 e ESP8266

Eletrogate12 de setembro de 2023

Aprenda neste post, a usar o sistema de arquivos LittleFS, que possui mais desempenho do que o sistema SPIFFS, nas placas Raspberry Pi Pico, ESP32 e ESP8266.

Sensores

Como Utilizar o Módulo Sensor de Cor RGB TCS34725

Eletrogate5 de setembro de 2023

Você já precisou de algum sensor para detectar as cores de objetos? Venha conferir o post de hoje! Nós vamos utilizar o sensor RGB TCS34725.

Sensores

Como Utilizar o Módulo Sensor de Cor RGB TCS34725

Eletrogate5 de setembro de 2023

Você já precisou de algum sensor para detectar as cores de objetos? Venha conferir o post de hoje! Nós vamos utilizar o sensor RGB TCS34725.

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

[email protected]


Seg a Sex - das 8h às 17h

Institucional

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

Nos acompanhe

Facebook Instagram Youtube

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