Como fazer um carrinho com o Arduino controlado por APP Android – Parte 1

Olá pessoal, hoje vamos realizar um projeto muito esperado pelos fãs da plataforma Arduino. Vamos montar um carrinho que poderá ser controlado pelo seu celular Android! Massa demais né?

O tutorial será dividido em duas partes:

Parte 1 – Iremos abordar a montagem mecânica, ligação, e controle dos motores na plataforma Arduino.

Parte 2 – Construção de um APP Android pelo MIT APP Inventor e ligação do módulo bluetooth no Arduino.

Parte 1

Os materiais necessários para construir o carrinho são mostrados na figura 1 e você pode adquirir o kit completo pelo site da Eletrogate .

  • 1 Chassi modelo 2W-D
  • 2 Motores de corrente contínua DC 3V – 6V
  • 4 Parafusos M3 tamanho 30mm
    8 Parafusos M3 de 5mm
  • 4 espaçadores de 7mm
  • 2 rodas
  • 1 Arduino ( Qualquer modelo)
  • 2 Baterias modelo 18650 (Evitar pilhas comuns e recarregáveis)
  • 10 jumpers macho-fêmea
  • 1 metro de fio preto
  • 1 metro de fio vermelho
  • 1 Mini Protoboard
  • 1 Chave Liga/Desliga

Montagem do Chassi

Figura 1 – Kit Chassi

Ao comprar o kit do Carrinho, você perceberá que ele já acompanha um manual de instalação e parafusos. Utilizamos o chassi 2W-D por ser o mais acessível no mercado.

Você pode fazer o download do manual clicando aqui

Primeiro, é necessário realizar a montagem física do carrinho. Essa consiste basicamente em seguir o manual de instrução.

Passos a serem seguidos:

  • Pegue os suportes laterais, esses serão parafusados ao motor posteriormente, e encaixe na base do carrinho. Adicione e parafuse os motores nos suportes:
Figura 2 – Fixação dos suportes e motores
  • Encaixe os medidores do encoders no lugar adequado como mostrado na Figura 3. Não faremos a leitura da velocidade diretamente com eles, isto ficará para outro post, mas você já pode deixá-los instalados no seu carrinho.
Figura 3- Fixação dos medidores do encoder e aperto dos parafusos
  • Encaixe as rodas laterais
Figura 4 – Encaixe das rodas
  • Encaixe e parafuse o suporte da roda boba frontal com os espaçadores que geralmente vêm junto com o Kit Chassi:
Figura 5 – Fixação da roda boba
  • Encaixe e parafuse o suporte da bateria. Você pode usar o suporte da Figura 6 para o primeiro teste com pilhas comuns, entretanto, recomendamos que você utilize as baterias 18650 .

Ponte H – Controle de Motores

Utilizamos em nosso projeto o módulo driver L298N para este projeto. Ele será utilizado para fazer o controle da direção e velocidade dos nossos motores , e também fará a alimentação dos mesmos. Veja o esquemático de pinagem na Figura 7.

Figura 7 – Esquemático da ponte H

Vamos entender como funcionam os pinos da ponte H.

  • VCC – Pino de alimentação positiva entre 6V a 35V para a alimentação dos motores
  • GND – Pino terra, ou negativo da fonte de alimentação e também do Arduino (você deve ligar nele o GND da bateria e também do arduino).
  • OUT1 e OUT2 ( Motor A) – Disponibilizam um nível alto (até 36V) ou baixo 0V de energia para o motor A. Nestes pinos você deverá ligar o fio positivo e negativo do motor A (não há polaridade).
  • OUT3 e OUT4 (Motor B) – Igual ao Motor A
  • ENI e EN2 – Controlam o sentido de giro do motor A
  • EN2 e EN3 – Controlam o sentido de giro do motor B
  • ENA (JB) – Abilita o PWM e Controla a velocidade do Motor A quando o jumper é retirado.
  • ENB (JC) – Abilita o PWM e Controla a velocidade do Motor B quando o jumper é retirado.

Para ligar os motores na Ponte H é preciso fazer uma solda nos motores. Assim, solde fios de diferentes cores nos terminais dos motores. Um fio será o positivo e outro o negativo do motor.

Figura 8 – Soldagem dos motores

Para realizar a solda você irá precisar:

  • 1 Ferro de solda
  • 1 rolo de estanho
  • 1 Suporte de ferro de solda
  • 1 pasta de solda
  • 1 esponja de solda molhada (para limpeza do bico)

Instruções:

1-Ligue o ferro de solda, e deixe-o esquentar até que ele seja capaz de derreter o estanho.

2-Passe um pouco de pasta de solda nos terminais do motor.

3- Desencape o fio e estanhe as pontas.

4- Com o fio estanhado, coloque ele no terminal do motor e faça a solda, adicionando mais estanho se preciso.

OBS: Caso tenha dificuldade em soldar os fios nos terminais dos motores, utilize mais pasta de solda nos terminais antes de realizar a soldagem. Ela ajuda muito a “fazer a solda pegar”.

  • Conecte esses fios nos devidos pinos de saída, tanto do motor A, quanto do motor B, do módulo da ponte H:
Figura 9 – Conexão dos motores nos bornes A e B

Realize a montagem abaixo no Arduino:

Figura 10 – Esquemático de ligação dos motores, ponte H e Arduino

Repare que os jumpers da ponte H foram mantidos. O jumper JA quando mantido, disponibiliza 5V da fonte externa no seu 3º borne , possibilitando ligar estes 5V para alimentarmos o Arduino pelo pino Vin.

ATENÇÃO: apenas alimentar o Arduino com o borne de 5V quando o Arduino NÃO ESTIVER CONECTADO NO COMPUTADOR. Sempre DESCONECTAR o Vin do Arduino ao realizar a gravação de um código.

Grave o código abaixo para testar os motores em velocidade única ( jumpers JB e JC mantidos):

// CÓDIGO PARA TESTE DO MOTOR
  //AUTOR: SALAMAKER em parceria com ELETROGATE
  
  //Definições dos pinos dos motores ligados ao Arduino:

  //Motor A
  int IN1 = 4;
  int IN2 = 5;
  
  //Motor B
  int IN3 = 6;
  int IN4 = 7;

void setup() 
{
  //Define os pinos do Motor A como saída
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

 //Define os pinos do Motor B como saída
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  
}

void loop()
{
  // Movimenta o motor A no sentido horário 

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  // Movimentação o motor B no sentido horário 
  
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  
  delay(1000); // Aguarda 1 segundo

  // Movimenta o motor A no sentido horário anti-horário 
 
  digitalWrite(IN2, HIGH);
  digitalWrite(IN1, LOW);
   
    // Movimenta o motor B no sentido horário anti-horário 
  digitalWrite(IN4, HIGH);
  digitalWrite(IN3, LOW);
  
  delay(1000);// Aguarda 1 segundo
}

Agora vamos controlar a velocidades dos motores. Retire os jumpers JA e JC e conecte nos pinos do Arduino que permitem controle PWM (estes pinos possuem um símbolo de ˜ na frente dos números.

Veja a montagem do esquemático completo a seguir:

Utilizamos uma chave liga-desliga para energizar ou desligar os motores separadamente do Arduino.

Copie e grave o código abaixo:

  // CÓDIGO PARA TESTE DO MOTOR com PWM
  //AUTOR: SALAMAKER em parceria com ELETROGATE
  
  //Definições dos pinos dos motores ligados ao Arduino:

  //Motor A
  int IN1 = 4;
  int IN2 = 5;
  
  //Motor B
  int IN3 = 6;
  int IN4 = 7;


//Pinos para ativar o enable da ponte H com um sinal de PWM 

  int EA = 11; // ativa Enabe Motor A
  int EB = 10; // ativa Enabe Motor B

void setup() 
{
  //Define os pinos do Motor A como saída
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

 //Define os pinos do Motor B como saída
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  //Define os pinos de enable de PWM como saída
    pinMode(EA, OUTPUT);
    pinMode(EB, OUTPUT);
}

void loop()
{
  // Movimenta o motor A no sentido horário 

  analogWrite(EA, 75);// habilita o giro do motor A com velocidade mediana de 75 , este valor pode ir de 0 a 255
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  // Movimentação o motor B no sentido horário 

  analogWrite(EA, 75);// habilita o giro do motor B com velocidade mediana de 75 , este valor pode ir de 0 a 255
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  
  delay(1000); // Aguarda 1 segundo

  // Movimenta o motor A no sentido horário anti-horário 

  analogWrite(EA, 255);// habilita o giro do motor A com velocidade alta de 255 , este valor pode ir de 0 a 255
  digitalWrite(IN2, HIGH);
  digitalWrite(IN1, LOW);
   
    // Movimenta o motor B no sentido horário anti-horário 
  analogWrite(EB, 255);// habilita o giro do motor A com velocidade alta de 255 , este valor pode ir de 0 a 255
  digitalWrite(IN4, HIGH);
  digitalWrite(IN3, LOW);
  
  delay(1000);// Aguarda 1 segundo
}

Baterias

Você pode utilizar uma bateria de 9V para alimentar o Arduino e 4 pilhas de 1,5V para alimentar os motores. Entretanto, utilizar pilhas e baterias comuns ou recarregáveis demonstrou-se uma solução pouco eficiente.

O consumo de corrente elétrica pelo carrinho é alta, fazendo com que em pouco tempo você perca as pilhas, ou, ao recarregá-las, consiga tensão, mas não carga suficiente. O carrinho irá comportar-se de forma estranha, levando você a achar que o problema pode estar no código ou na ponte H. Mas o problema pode ser a bateria!

Recomendamos para esse projeto duas baterias 18650 que consegue fornecer pelo menos 6800mAh para alimentar os motores e possui uma tensão de alimentação de 3,5V . Esta é uma alternativa que possui um valor de bateria e carregador mais barato, mas você também pode usar uma bateria de LiPo.

Figura 12 – Baterias 18650

Karla Azambuja

Karla Azambuja é engenheira, maker e empreendedora. Fundadora da Escola de Educação Maker e Empreendedora MicroFarad, e também do Makerspace Sala Maker. Em seu tempo livre adora criar e aprender coisas novas, estar com sua família e viajar.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *