Robô Segue Linha

Programe um robô seguidor de linha em Arduino

Neste projeto iremos montar um robô autônomo seguidor de linha usando apenas 2 sensores de linha, a Base Boarduino (placa da Circuitar compatível com Arduino Nano) e os Nanoshields.

Você precisará de um caminho com fundo claro e linha escura para realizar o teste com o robô. Para isto você pode criar um caminho no chão com fita isolante (preta) ou baixar e imprimir nosso caminho na sessão de downloads.

Materiais utilizados

Veja abaixo os componentes necessários para o projeto:

Além disso você vai precisar de uma chave Philips e uma chave de porca para fixar os sensores.

Montagem

Com o chassi pronto conectar os Nanoshields Wire A e Motor na Base Boarduino.

Configurando o Nanoshield Wire A

Precisamos agora ligar os sensores de linha ao robô. O Arduino possui 8 entradas analógicas (de A0 a A7). Vamos usar as entradas A0 e A1 neste tutorial. Conecte o sensor da esquerda no shield Pino A0 e o sensor da direita no pino A1, conforme figura abaixo.

Certifique-se da posição do conector no shield: os fios branco, vermelho e preto correspondem às entradas A, e do Shield.

Configurando o Nanoshield Motor

Jumpers

Para comandar os dois motores ao mesmo tempo e independentemente, feche os jumpers do Shield nomeados M2B, M2A, M1B e M1A, conforme figura abaixo:

Conexão dos Jumpers

Motores

Os motores são ligados ao módulo através do borne de parafuso verde. O motor 1 é controlado pelos pinos 3 e 5 do Arduino e o motor 2 pelos pinos 6 e 9. Conecte os fios do motor da esquerda no terminais indicado por M1 e os fios do motor da direita nos terminais indicado por M2. Conforme figura abaixo:

Conexão dos Motores

Observação: Como controlamos a direção dos motores pelo programa do Arduino, podemos ligar os motores ao shield independente das cores dos fios A questão da direção dos motores será tratada no tópico Testando os motores (a baixo).

Alimentação e chave liga/desliga

O shield do motor possui 2 opções para alimentar o projeto:

  1. Pino VIN - Entrada que aceita tensões de 4V a 18V e alimenta somente o shield motor.
  2. Pino VCC - Entrada que aceita tensões de 4V a 6V e alimenta tanto o Arduino quanto o shield motor.

Neste projeto estamos utilizando 4 pilhas Alcalinas (1,5V) ou 4 pilhas recarregáveis de NiMh (1,2V) em série. Portanto vamos selecionar o pino VCC, utilizando a chave liga/desliga. Conecte os pinos da chave liga/desliga no VCC e ao pino ao lado, e os fios da pilha no borne azul do shield, lembrando de sua polarização vermelho no e preto no , conforme figura a baixo:

Conexão da Alimentação

A montagem do robô está pronta!

Testando os Motores

Agora que seu robô está montado precisamos certificar que o comando do Arduino de ir para frente realmente está fazendo o robô andar para frente. Isto pode acontecer pois não sabemos ao certo a polarização correta do motores. Para corrigir este problema fizemos um programinha de teste simples que utiliza os mesmos comandos de direção do motor que o código do programa principal para seguir a linha. Baixe este programa teste e o programa seguidor-de-linha na cessão de downloads e primeiramente utilize o Arduino IDE para gravar o programa TESTE no robô. Lembre-se de escolher a board (placa) e porta correta no ambiente Arduino IDE. Se você estiver utilizando o Boarduino indicado neste projeto, selecione a placa: Arduino Nano w/ ATmega328. Caso haja alguma dúvida na programação acesse nossa página de tutoriais. Após gravado coloque o robô no chão e ligue-o. Observe a direção que ele irá andar por um breve período de tempo.

Se o robô não andou para frente, e sim para outra direção, abra o programa SEGUIDOR-DE-LINHA e siga os procedimentos abaixo para corrigir seu código: Se o robo, ao inves de andar para frente:

  • Virou para ESQUERDA: Inverta os números 3 e 5 do #define do motor 1 (Esquerda) no código seguidor-de-linha;
  • Virou para DIREITA: Inverta os números 9 e 6 do #define do motor 2 (Direita) no código seguidor-de-linha;
  • Andou para TRÁS: Inverta os números dos dois #defines do motor 1 (Esquerda) e motor 2 (Direita) no código seguidor-de-linha.

Após fazer as devidas correções grave, da mesma forma que o programa teste, o programa seguidor-de-linha.

Pronha seu robô na linha e liga a chave liga/desliga. Seu robô está pronto para ação!

Nosso robô realizou o caminho de 170cm em 12 segundos. E o seu, em quanto tempo consegue fazer?

Ardublock

Criado para ajudar à quem não tem muito conhecimento em programação, o Ardublock é um ferramenta para programação em linguagem de blocos. Para o robô seguidor de linha foi criado também o programa em linguagem de blocos, disponível na seção de downloads abaixo.

Para mais informações e como instalar o Ardublock no seu computador acesse nosso tutorial do Ardublock.

Downloads