Olá Garagistas! No tutorial de hoje mostraremos como utilizar o Dual Motor Shield. E como demonstração controlaremos o Zumo pelas teclas 8 (Frente), 2 (Trás), 4 (Esquerda), e 6 (Direita) do teclado, através do Serial Monitor.

 

Material Utilizados:

1x Arduino

1x Cabo USB A para B - 1,80 metros

1x Dual Motor Driver

1x KIT Chassi Zumo Pololu

4x Pilhas AA

Alguns Jumpers

 

 

1. Dual Motor Shield

Imagem 1 - Dual Motor Shield

 

O Dual Motor Shield é um Shield para Arduino muito prático, e com a biblioteca desenvolvida pelo Laboratório de Garagem sua utilização fica bem mais simples, pois com apenas um comando você define o sentido e velocidade de até 2 motores DC. Muito prático, é uma excelente solução para quem quer controlar plataformas robóticas como o Zumo, o Magician, e a Esteira Tamiya.

 

 

2. Biblioteca DualMotor.h

 

A biblioteca desenvolvida para o Shield é composta por poucas funções:

DualMotor dualmotor; //Instância a DualMotor

dualmotor.M1move(velocidade, sentido); //Aciona o motor 1, velocidade (0 a 255) e sentido (0 - Horário ou 1 - Anti-horário)

dualmotor.M2move(velocidade, sentido); //Aciona o motor 2, velocidade (0 a 255) e sentido (0 - Horário ou 1 - Anti-horário)

dualmotor.M1parar(); //Para o motor 1

dualmotor.M2parar(); //Para o motor 2

A biblioteca pode ser baixada clicando aqui. Basta você extrair a pasta e copia-la para dentro da pasta libraries do Arduino.

 

 

3. Ligações no Shield

 

As conexões dos motores nos bornes do Dual Motor Shield, influenciam na hora em que você for desenvolver o seu Sketch, na demonstração foram feitas as ligações conforme a imagem abaixo:

Imagem 2 - Conexões dos motor no Dual Motor Shield

 

Nessa montagem, quando se girar o motor no sentido 1, o respectivo motor irá mover o Zumo para frente, e quando se girar no sentido 0, o mesmo irá mover o Zumo para trás. Lembrando que, para a plataforma robótica girar, virar, ou fazer curva, é necessário que se pare um motor e rotacione o outro, ou que se gire um motor em um sentido e o outro em sentido oposto, na tabela abaixo você irá encontrar a configuração de cada um dos motores e a resposta para a movimentação da plataforma Zumo, para a montagem da imagem acima:

 

Tabela 1 - Resposta em movimentação dos motores

OBS: Para que a plataforma robótica fique parada, é necessário executar a função dualmotor.Mnparar();.

 

 

4. O Sketch

 

 

Este sketch pode ser encontrado dentro da biblioteca DualMotor.h, ou se preferir copie o cole o código dentro da Arduino IDE.

OBS: É necessário que você tenha copiado a pasta DualMotor para dentro da pasta libraries.

 

 

//=======================================================

//=======================================================

 

#include <DualMotor.h> //Inclui a biblioteca DualMotor.h

 

DualMotor dualmotor; //Instância a DualMotor

 

char letra; //Cria uma variável char para armazenamento dos caraceteres lidos

 

void setup()
{
  Serial.begin(9600); //Inicia a Serial com um Baud Rate de 9600bps
    dualmotor.M1parar(); //Para o motor1
    dualmotor.M2parar(); //Para o motor2
}

 

void loop()
{

  if (Serial.available() > 0) //Se algo for recebido na serial
  {
    letra = Serial.read(); //Armazena o que foi recebido na variável letra
    switch(letra) //Entra no switch para a comparação do caractere recebido
    {

    case '8'://FRENTE //Caso o caracter for igual a 8, vai pra FRENTE
      dualmotor.M1move(255,1);
      dualmotor.M2move(255,1);
      break; //Sai do switch

    case '4'://ESQUERDA //Caso o caracter for igual a 4, vira pra ESQUERDA
      dualmotor.M1move(255,0);
      dualmotor.M2move(255,1);
      break; //Sai do switch

    case '2'://TRÁS //Caso o caracter for igual a 2, vai pra TRAS
      dualmotor.M1move(255,0);
      dualmotor.M2move(255,0);
      break; //Sai do switch

    case '6'://DIREITA //Caso o caracter for igual a 6, vira pra senEITA
      dualmotor.M1move(255,1);
      dualmotor.M2move(255,0);
      break; //Sai do switch

    }

    delay(250); //Delay de 250 milissegundos
    dualmotor.M1parar(); //Para o motor 1
    dualmotor.M2parar(); //Para o motor 2
    

letra = 0;//Limpa a variável letra
  }
}

 

//=======================================================

//=======================================================

 

 

Bem, então é isso Garagistas! Esperamos que tenham gostado deste Tutorial, até a próxima!

=D

 

 

Referências:

http://labdegaragem.com/profiles/blogs/tutorial-driver-para-motores...

 

 

Exibições: 17932

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Anésio Silva em 25 junho 2017 às 15:33

onde está o esquema elétrico da placa

Comentário de Carlos Eduardo Carvalho em 3 setembro 2015 às 15:58
Olá !
É possível acoplar um motor de tensão maior, 12 V por exemplo ?
Comentário de André Panesi em 1 março 2015 às 14:46

como utilizar nesse caso um controle remoto para controlar o carrinho? existe algum código para isso? eu possuo um módulo receptor de infravermelho

Comentário de Adriano CE 399 em 6 maio 2014 às 13:42

Olá a todos do LabGar, gostaria de saber depois que coloco a shield dual motor quais portas que ficam livre para usar com sensores no caso estou usando arduino uno r3.

Desde já agradeço pela atenção.

Adriano.

Comentário de Raony Silva em 24 novembro 2013 às 20:58

E no caso de querer controlar por um joystick usb?

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço